Compare commits

...

6 Commits

Author SHA1 Message Date
66df874b4a
Add missing pre/postInstall hooks to intel 2023
All checks were successful
CI / build:all (pull_request) Successful in 17s
2025-10-08 14:58:33 +02:00
660604a9f5
Trace addition to nix-support/private 2025-10-08 14:58:32 +02:00
30e75da14c
Add nix-support/private to unfree derivation outputs 2025-10-08 14:58:32 +02:00
f6864c7bce
Add skeleton meta to intel 2023 2025-10-08 14:58:32 +02:00
bec363d125
Add meta to packages 2025-10-08 14:58:32 +02:00
3750d0b599
Add maintainers 2025-10-08 14:58:32 +02:00
26 changed files with 284 additions and 2 deletions

View File

@ -47,6 +47,8 @@ in
};
# propagate nixpkgs lib, so we can do bscpkgs.lib
inherit (nixpkgs) lib;
lib = nixpkgs.lib // {
bsc.maintainers = import ./maintainers/maintainer-list.nix;
};
};
}

View File

@ -0,0 +1,6 @@
builtins.mapAttrs (name: value: { email = name + "@bsc.es"; } // value) {
abonerib.name = "Aleix Boné";
arocanon.name = "Aleix Roca";
rarias.name = "Rodrigo Arias";
rpenacob.name = "Raúl Peñacoba";
}

View File

@ -7,6 +7,33 @@ let
callPackage = final.callPackage;
bscPkgs = {
# override stdenv to add a sentinel to know if a derivation comes
# from unfree sources.
stdenv = prev.stdenv // {
mkDerivation =
args:
let
originalDrv = prev.stdenv.mkDerivation args;
checkLicense = l: if builtins.isAttrs l then !(l.free or true) else false;
licenses = if builtins.isList args.meta.license then args.meta.license else [ args.meta.license ];
hasUnfreeLicense =
if args ? meta && args.meta ? license then builtins.any checkLicense licenses else false;
in
if hasUnfreeLicense then
builtins.traceVerbose "adding nix-support/private to ${originalDrv.name or originalDrv.pname}" (
originalDrv.overrideAttrs (old: {
postInstall = (old.postInstall or "") + ''
mkdir -p $out/nix-support
touch $out/nix-support/private
'';
}))
else
originalDrv;
};
amd-uprof = prev.callPackage ./pkgs/amd-uprof/default.nix { };
bench6 = callPackage ./pkgs/bench6/default.nix { };
bigotes = callPackage ./pkgs/bigotes/default.nix { };
@ -121,6 +148,11 @@ let
all = buildList' "ci-all" [ pkgsList testList ];
in bscPkgs // {
lib = prev.lib // {
bsc.maintainers = import ./maintainers/maintainer-list.nix;
};
# Prevent accidental usage of bsc attribute
bsc = throw "the bsc attribute is deprecated, packages are now in the root";

View File

@ -1,5 +1,6 @@
{
stdenv
, lib
, bigotes
, cmake
, clangOmpss2
@ -58,4 +59,12 @@ stdenv.mkDerivation rec {
];
hardeningDisable = [ "all" ];
dontStrip = true;
meta = with lib; {
homepage = "https://gitlab.pm.bsc.es/rarias/bench6";
description = "Set of micro-benchmarks for OmpSs-2 and several mini-apps";
maintainers = with maintainers.bsc; [ rarias ];
platforms = platforms.linux;
license = licenses.gpl3;
};
}

View File

@ -1,5 +1,6 @@
{
stdenv
, lib
, fetchFromGitHub
, cmake
}:
@ -14,4 +15,12 @@ stdenv.mkDerivation {
sha256 = "sha256-ktxM3pXiL8YXSK+/IKWYadijhYXqGoLY6adLk36iigE=";
};
nativeBuildInputs = [ cmake ];
meta = with lib; {
homepage = "https://github.com/rodarima/bigotes";
description = "Versatile benchmark tool";
maintainers = with maintainers.bsc; [ rarias ];
platforms = platforms.linux;
license = licenses.gpl3;
};
}

View File

@ -110,4 +110,12 @@ stdenv.mkDerivation rec {
# then [ "--enable-openmp" ]
# else []
# );
meta = with lib; {
homepage = "https://github.com/bsc-performance-tools/extrae";
description = "Instrumentation framework to generate execution traces of the most used parallel runtimes";
maintainers = with maintainers.bsc; [ rarias ];
platforms = platforms.linux;
license = licenses.lgpl21Plus;
};
}

View File

@ -1,5 +1,6 @@
{
stdenv
, lib
, fetchurl
, symlinkJoin
, slurm
@ -52,4 +53,12 @@ stdenv.mkDerivation rec {
buildInputs = [ slurm mpiAll rdma-core-all autoconf automake libtool rsync gfortran ];
hardeningDisable = [ "all" ];
meta = with lib; {
homepage = "https://pm.bsc.es/gitlab/interoperability/extern/GPI-2";
description = "GPI-2 extended for supporting Task-Aware GASPI (TAGASPI) library";
maintainers = with maintainers.bsc; [ rarias ];
platforms = platforms.linux;
license = licenses.gpl3;
};
}

View File

@ -1,4 +1,5 @@
{ stdenv
, lib
, fetchurl
, rpmextract
, autoPatchelfHook
@ -59,4 +60,12 @@ stdenv.mkDerivation rec {
rm $out/lib/*.dbg
popd
'';
meta = with lib; {
homepage = "https://www.intel.com/content/www/us/en/developer/tools/overview.html";
description = "Intel compiler";
maintainers = with maintainers.bsc; [ rarias ];
platforms = platforms.linux;
license = licenses.unfree;
};
}

View File

@ -145,4 +145,12 @@ in
popd
'';
meta = with lib; {
homepage = "https://www.intel.com/content/www/us/en/developer/tools/overview.html";
description = "Intel compiler";
maintainers = with maintainers.bsc; [ rarias ];
platforms = platforms.linux;
license = licenses.unfree;
};
}

View File

@ -1,4 +1,5 @@
{ stdenv
, lib
, rpmextract
, gcc
, zlib
@ -101,4 +102,12 @@ stdenv.mkDerivation rec {
patchelf --set-rpath "$out/lib:${rdma-core}/lib:${libpsm2}/lib" $out/lib/libfabric.so
echo "Patched RPATH in libfabric.so to: $(patchelf --print-rpath $out/lib/libfabric.so)"
'';
meta = with lib; {
homepage = "https://www.intel.com/content/www/us/en/developer/tools/overview.html";
description = "Intel compiler";
maintainers = with maintainers.bsc; [ rarias ];
platforms = platforms.linux;
license = licenses.unfree;
};
}

View File

@ -43,11 +43,15 @@ let
];
phases = [ "installPhase" ];
installPhase = ''
runHook preInstall
awk -F': ' '\
BEGIN { print "[ {" } \
NR>1 && /^Package: / { print "} {"; } \
/: / { printf "%s = \"%s\";\n", $1, $2 } \
END { print "} ]" }' $srcs > $out
runHook postInstall
'';
};
@ -81,12 +85,23 @@ let
nativeBuildInputs = [ dpkg ];
phases = [ "installPhase" ];
installPhase = ''
runHook preInstall
mkdir -p $out
for src in $srcs; do
echo "unpacking $src"
dpkg -x $src $out
done
runHook postInstall
'';
meta = {
description = "";
homepage = "";
license = lib.licenses.unfree;
maintainers = with lib.maintainers; [ ];
};
};
joinDebs = name: names:
@ -122,6 +137,8 @@ let
phases = [ "installPhase" "fixupPhase" ];
dontStrip = true;
installPhase = ''
runHook preInstall
mkdir -p $out/{bin,etc,lib,include}
mkdir -p $out/share/man
@ -138,6 +155,8 @@ let
# Broken due missing libze_loader.so.1
rsync -a --exclude IMB-MPI1-GPU bin/ $out/bin/
popd
runHook postInstall
'';
preFixup = ''
for i in $out/bin/mpi* ; do
@ -145,6 +164,13 @@ let
sed -i "s:I_MPI_SUBSTITUTE_INSTALLDIR:$out:g" "$i"
done
'';
meta = {
description = "";
homepage = "";
license = lib.licenses.unfree;
maintainers = with lib.maintainers; [ ];
};
};
intel-tbb = stdenv.mkDerivation rec {
@ -174,6 +200,8 @@ let
autoPatchelfIgnoreMissingDeps = [ "libhwloc.so.5" ];
installPhase = ''
runHook preInstall
mkdir -p $out/lib
cd $src
@ -182,7 +210,16 @@ let
# Libraries
rsync -a lib/intel64/gcc4.8/ $out/lib/
popd
runHook postInstall
'';
meta = {
description = "";
homepage = "";
license = lib.licenses.unfree;
maintainers = with lib.maintainers; [ ];
};
};
intel-compiler-shared = stdenv.mkDerivation rec {
@ -215,6 +252,8 @@ let
autoPatchelfIgnoreMissingDeps = [ "libsycl.so.6" ];
installPhase = ''
runHook preInstall
mkdir -p $out/{bin,lib,include}
mkdir -p $out/share/man
@ -239,7 +278,16 @@ let
rsync -a compiler/include/ $out/include/
popd
popd
runHook postInstall
'';
meta = {
description = "";
homepage = "";
license = lib.licenses.unfree;
maintainers = with lib.maintainers; [ ];
};
};
@ -278,6 +326,8 @@ let
dontStrip = true;
installPhase = ''
runHook preInstall
mkdir -p $out/{bin,lib,include}
mkdir -p $out/share/man
@ -303,8 +353,18 @@ let
# Fix lib_lin
ln -s $out/lib $out/lib_lin
popd
runHook postInstall
'';
meta = {
description = "";
homepage = "";
license = lib.licenses.unfree;
maintainers = with lib.maintainers; [ ];
};
};
intel-compiler = stdenv.mkDerivation rec {
@ -364,6 +424,8 @@ let
dontStrip = true;
installPhase = ''
runHook preInstall
mkdir -p $out/{bin,lib}
mkdir -p $out/share/man
@ -391,7 +453,16 @@ let
# Manuals
rsync -a documentation/en/man/common/ $out/share/man/
popd
runHook postInstall
'';
meta = {
description = "";
homepage = "";
license = lib.licenses.unfree;
maintainers = with lib.maintainers; [ ];
};
};
wrapIntel = { cc, mygcc, extraBuild ? "", extraInstall ? "" }:

View File

@ -1,5 +1,6 @@
{
stdenv
, lib
, fetchFromGitHub
, autoreconfHook
, nanos6
@ -62,4 +63,12 @@ stdenv.mkDerivation rec {
# Fails with "memory exhausted" with bison 3.7.1
# "--enable-bison-regeneration"
];
meta = with lib; {
homepage = "https://github.com/bsc-pm/mcxx";
description = "C/C++/Fortran source-to-source compilation infrastructure aimed at fast prototyping";
maintainers = with maintainers.bsc; [ rpenacob ];
platforms = platforms.linux;
license = licenses.gpl3Plus;
};
}

View File

@ -1,5 +1,6 @@
{
stdenv
, lib
, fetchFromGitHub
, autoreconfHook
, nanos6
@ -57,4 +58,12 @@ stdenv.mkDerivation rec {
# Fails with "memory exhausted" with bison 3.7.1
# "--enable-bison-regeneration"
];
meta = with lib; {
homepage = "https://github.com/bsc-pm/mcxx";
description = "C/C++/Fortran source-to-source compilation infrastructure aimed at fast prototyping";
maintainers = with maintainers.bsc; [ rpenacob ];
platforms = platforms.linux;
license = licenses.gpl3Plus;
};
}

View File

@ -1,4 +1,5 @@
{ stdenv
, lib
, fetchgit
, autoreconfHook
, nanos6
@ -56,4 +57,12 @@ stdenv.mkDerivation rec {
#preBuild = ''
# make generate_builtins_ia32 GXX_X86_BUILTINS=${gcc}/bin/g++
#'';
#
meta = with lib; {
homepage = "https://github.com/bsc-pm/mcxx";
description = "C/C++/Fortran source-to-source compilation infrastructure aimed at fast prototyping";
maintainers = with maintainers.bsc; [ rarias ];
platforms = platforms.linux;
license = licenses.gpl3Plus;
};
}

View File

@ -33,4 +33,8 @@ in mpich.overrideAttrs (old: {
"FCFLAGS=-fallow-argument-mismatch"
];
hardeningDisable = [ "all" ];
meta = old.meta // {
maintainers = old.meta.maintainers ++ (with lib.maintainers.bsc; [ rarias ]);
};
})

View File

@ -118,6 +118,7 @@ in
homepage = "https://github.com/bsc-pm/nanos6";
description = "Nanos6 runtime for OmpSs-2" +
optionalString (enableDebug) " (with debug symbols)";
maintainers = with maintainers.bsc; [ rarias ];
platforms = platforms.linux;
license = licenses.gpl3;
};

View File

@ -1,4 +1,4 @@
{ jemalloc }:
{ jemalloc, lib }:
jemalloc.overrideAttrs (old: {
configureFlags = old.configureFlags ++ [
@ -8,5 +8,6 @@ jemalloc.overrideAttrs (old: {
hardeningDisable = [ "all" ];
meta = old.meta // {
description = old.meta.description + " (for Nanos6)";
maintainers = (old.meta.maintainers or []) ++ (with lib.maintainers.bsc; [ rarias ]);
};
})

View File

@ -1,5 +1,6 @@
{
stdenv
, lib
, bashInteractive
, busybox
, nix
@ -86,5 +87,13 @@ stdenv.mkDerivation rec {
mkdir -p $out/share
cp ${nix_conf} $out/share/nix.conf
'';
meta = with lib; {
homepage = null;
description = "nix bubblewrap wrapper";
maintainers = with maintainers.bsc; [ rarias ];
platforms = platforms.linux;
license = licenses.gpl3Plus; # TODO: license?
};
}

View File

@ -1,5 +1,6 @@
{
stdenv
, lib
, glibc
}:
@ -15,4 +16,12 @@ stdenv.mkDerivation rec {
makeFlags = [ "DESTDIR=$(out)" ];
preBuild = "env";
dontPatchShebangs = true;
meta = with lib; {
homepage = "https://gitlab.pm.bsc.es/rarias/nixtools";
description = "nix bubblewrap wrapper";
maintainers = with maintainers.bsc; [ rarias ];
platforms = platforms.linux;
license = licenses.gpl3Plus; # TODO: license?
};
}

View File

@ -81,4 +81,12 @@ in
passthru = {
inherit nosv;
};
meta = with lib; {
homepage = "https://gitlab.bsc.es/nos-v/nodes";
description = "Runtime library designed to work on top of the nOS-V runtime";
maintainers = with maintainers.bsc; [ rarias ];
platforms = platforms.linux;
license = licenses.gpl3Plus;
};
}

View File

@ -59,4 +59,12 @@ in
hwloc
ovni
] ++ lib.optionals enablePapi [ papi ];
meta = with lib; {
homepage = "https://gitlab.bsc.es/nos-v/nos-v";
description = "Tasking library enables the co-execution of multiple applications with system-wide scheduling and a centralized management of resources";
maintainers = with maintainers.bsc; [ abonerib ];
platforms = platforms.linux;
license = licenses.gpl3Plus;
};
}

View File

@ -55,4 +55,12 @@ in
doCheck = true;
checkTarget = "test";
hardeningDisable = [ "all" ];
meta = with lib; {
homepage = "https://ovni.readthedocs.io";
description = "Obtuse but Versatile Nanoscale Instrumentation";
maintainers = with maintainers.bsc; [ rarias ];
platforms = platforms.linux;
license = licenses.gpl3Plus;
};
}

View File

@ -1,5 +1,6 @@
{
stdenv
, lib
, fetchFromGitHub
, autoreconfHook
, boost
@ -88,4 +89,12 @@ stdenv.mkDerivation rec {
mkdir -p $out/share/man
mv $out/share/doc/wxparaver_help_contents/man $out/share/man/man1
'';
meta = with lib; {
homepage = "https://github.com/bsc-performance-tools/wxparaver";
description = "Trace-based visualization and analysis tool designed to study quantitative detailed metrics and obtain qualitative knowledge of the performance of applications, libraries, processors and whole architectures";
maintainers = with maintainers.bsc; [ rarias ];
platforms = platforms.linux;
license = licenses.lgpl21Plus;
};
}

View File

@ -1,5 +1,6 @@
{
stdenv
, lib
, autoreconfHook
, fetchFromGitHub
, ovni
@ -27,4 +28,12 @@ stdenv.mkDerivation rec {
ovni
mpi
];
meta = with lib; {
homepage = "https://github.com/bsc-pm/sonar";
description = "Set of runtime libraries which instrument parallel programming models through the ovni instrumentation library";
maintainers = with maintainers.bsc; [ rarias ];
platforms = platforms.linux;
license = licenses.mit;
};
}

View File

@ -1,5 +1,6 @@
{
stdenv
, lib
, fetchFromGitHub
, automake
, autoconf
@ -55,4 +56,12 @@ stdenv.mkDerivation rec {
];
hardeningDisable = [ "all" ];
meta = with lib; {
homepage = "https://github.com/bsc-pm/tagaspi";
description = "Task-Aware GASPI";
maintainers = with maintainers.bsc; [ rarias ];
platforms = platforms.linux;
license = licenses.gpl3Plus;
};
}

View File

@ -61,4 +61,12 @@ in stdenv.mkDerivation {
configureFlags = optional (enableOvni) "--with-ovni=${ovni}";
dontDisableStatic = true;
hardeningDisable = [ "all" ];
meta = with lib; {
homepage = "https://github.com/bsc-pm/tampi";
description = "Task-Aware MPI";
maintainers = with maintainers.bsc; [ rarias ];
platforms = platforms.linux;
license = licenses.gpl3Plus;
};
}