Compare commits

..

18 Commits

Author SHA1 Message Date
0b047b7272 weasel: nix-serve bind to 0.0.0.0 2025-10-08 15:24:41 +02:00
354c11c329 weasel: add custom nix-serve
Proper override for haskell package

madness

Fix nix-serve-ng override
2025-10-08 15:24:41 +02:00
6a01158c43 Add https github to allowed uris 2025-10-08 15:24:41 +02:00
d7f92a9126 Make hydra shut up 2025-10-08 15:24:40 +02:00
ed6cb7e6ea Add bscpm and gitlab-internal to allowed-uris 2025-10-08 15:24:40 +02:00
ed8eafba79 weasel: enable hydra tcp port in firewall 2025-10-08 15:24:40 +02:00
937f08d11c hydra: set listen host 2025-10-08 15:24:40 +02:00
71b8198e4a Enable hydra on weasel 2025-10-08 15:24:40 +02:00
1a5ba3b930 weasel: use tent cache 2025-10-08 15:24:40 +02:00
a057c2e5f5 Add nixfmt-rfc-style to common packages 2025-10-08 15:24:40 +02:00
7e4fb6bccf Add packages to user abonerib 2025-10-08 15:24:39 +02:00
b5b90826a7 Add nix-output-monitor to default packages 2025-10-08 15:24:39 +02:00
b5140eda17 Set fish shell for user abonerib 2025-10-08 15:24:39 +02:00
6a89c4de90 weasel: create user folders in /var/lib/podman-users
/home is a nfs mount, which does not support extra filesystem arguments
needed to run podman. We need to have a local home.
2025-10-08 15:24:39 +02:00
8369b1207e weasel: add podman 2025-10-08 15:24:39 +02:00
f2bf4970c9 Replace __noChroot with requiredSystemFeatures 2025-10-08 13:54:54 +02:00
4b4fe9bb3d Add hwloc test with sys-devices feature 2025-10-07 17:34:46 +02:00
510d9046ce Enable custom sys-devices system feature 2025-10-07 17:05:29 +02:00
42 changed files with 168 additions and 350 deletions

View File

@@ -12,9 +12,4 @@ jobs:
runs-on: native runs-on: native
steps: steps:
- uses: https://gitea.com/ScMi1/checkout@v1.4 - uses: https://gitea.com/ScMi1/checkout@v1.4
- run: nix build -L --no-link --print-out-paths .#bsc.ci.all - run: nix build -L --no-link --print-out-paths .#bsc-ci.all
build:cross:
runs-on: native
steps:
- uses: https://gitea.com/ScMi1/checkout@v1.4
- run: nix build -L --no-link --print-out-paths .#bsc.ci.cross

View File

@@ -1,30 +0,0 @@
# Maintainers
## Role of a maintainer
The responsibilities of maintainers are quite lax, and similar in spirit to
[nixpkgs' maintainers][1]:
The main responsibility of a maintainer is to keep the packages they
maintain in a functioning state, and keep up with updates. In order to do
that, they are empowered to make decisions over the packages they maintain.
That being said, the maintainer is not alone in proposing changes to the
packages. Anybody (both bots and humans) can send PRs to bump or tweak the
package.
In practice, this means that when updating or proposing changes to a package,
we will notify maintainers by mentioning them in Gitea so they can test changes
and give feedback.
Since we do bi-yearly release cycles, there is no expectation from maintainers
to update packages at each upstream release. Nevertheless, on each release cycle
we may request help from maintainers when updating or testing their packages.
## Becoming a maintainer
You'll have to add yourself in the `maintainers.nix` list; your username should
match your `bsc.es` email. Then you can add yourself to the `meta.maintainers`
of any package you are interested in maintaining.
[1]: [https://github.com/NixOS/nixpkgs/tree/nixos-25.05/maintainers]

6
flake.lock generated
View File

@@ -68,11 +68,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1760139962, "lastModified": 1752436162,
"narHash": "sha256-4xggC56Rub3WInz5eD7EZWXuLXpNvJiUPahGtMkwtuc=", "narHash": "sha256-Kt1UIPi7kZqkSc5HVj6UY5YLHHEzPBkgpNUByuyxtlw=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "7e297ddff44a3cc93673bb38d0374df8d0ad73e4", "rev": "dfcd5b901dbab46c9c6e80b265648481aafb01f8",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@@ -42,13 +42,11 @@ in
# full nixpkgs with our overlay applied # full nixpkgs with our overlay applied
legacyPackages.${system} = pkgs; legacyPackages.${system} = pkgs;
hydraJobs = self.legacyPackages.${system}.bsc.hydraJobs; hydraJobs = {
inherit (self.legacyPackages.${system}.bsc-ci) tests pkgs cross;
};
# propagate nixpkgs lib, so we can do bscpkgs.lib # propagate nixpkgs lib, so we can do bscpkgs.lib
lib = nixpkgs.lib // { inherit (nixpkgs) lib;
maintainers = nixpkgs.lib.maintainers // {
bsc = import ./pkgs/maintainers.nix;
};
};
}; };
} }

View File

@@ -18,5 +18,6 @@
./base/users.nix ./base/users.nix
./base/watchdog.nix ./base/watchdog.nix
./base/zsh.nix ./base/zsh.nix
./base/fish.nix
]; ];
} }

View File

@@ -5,6 +5,8 @@
vim wget git htop tmux pciutils tcpdump ripgrep nix-index nixos-option vim wget git htop tmux pciutils tcpdump ripgrep nix-index nixos-option
nix-diff ipmitool freeipmi ethtool lm_sensors cmake gnumake file tree nix-diff ipmitool freeipmi ethtool lm_sensors cmake gnumake file tree
ncdu config.boot.kernelPackages.perf ldns pv ncdu config.boot.kernelPackages.perf ldns pv
nix-output-monitor
nixfmt-rfc-style
# From bsckgs overlay # From bsckgs overlay
osumb osumb
]; ];

4
m/common/base/fish.nix Normal file
View File

@@ -0,0 +1,4 @@
{ ... }:
{
programs.fish.enable = true;
}

View File

@@ -87,6 +87,12 @@
openssh.authorizedKeys.keys = [ openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIIFiqXqt88VuUfyANkZyLJNiuroIITaGlOOTMhVDKjf abonerib@bsc" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIIFiqXqt88VuUfyANkZyLJNiuroIITaGlOOTMhVDKjf abonerib@bsc"
]; ];
shell = pkgs.fish;
packages = with pkgs; [
starship
jujutsu
neovim
];
}; };
vlopez = { vlopez = {

View File

@@ -1,9 +1,11 @@
{ lib, ... }: { lib, pkgs, ... }:
{ {
imports = [ imports = [
../common/ssf.nix ../common/ssf.nix
../module/hut-substituter.nix ../module/hut-substituter.nix
./virtualization.nix
./hydra.nix
]; ];
# Select this using the ID to avoid mismatches # Select this using the ID to avoid mismatches
@@ -30,4 +32,23 @@
prefixLength = 24; prefixLength = 24;
} ]; } ];
}; };
services.nix-serve = {
enable = true;
bindAddress = "0.0.0.0";
port = 5000;
package = pkgs.haskell.lib.overrideSrc (pkgs.haskell.packages.ghc96.nix-serve-ng.override { nix = pkgs.nixVersions.nix_2_28; }) {
src = pkgs.fetchgit {
url = "https://jungle.bsc.es/git/abonerib/nix-serve-ng.git";
rev = "9c056641300a826db66b66d7e584b2541d38927a";
hash = "sha256-y69ZchFiZOU71eyeljcQgLxkLk5JUzZfanq8Yzw4MkI=";
};
version = "unstable";
};
secretKeyFile = "/var/cache-priv-key.pem";
# Public key:
# 10.0.40.6:8jBhIdXEBap+Qo+vc1/fnV9vj43A2oDk839EEheRr/U=
};
} }

52
m/weasel/hydra.nix Normal file
View File

@@ -0,0 +1,52 @@
{ config, pkgs, lib, ... }:
{
services.hydra = {
enable = true;
# Wrap hydra so it puts quiet flag every time... This is dumb and annoying,
# but i can't override the systemd ExecStart without running into infinite
# recursion.
package = pkgs.symlinkJoin {
name = "hydra-quiet";
paths = [ pkgs.hydra ];
postBuild = ''
for prog in hydra-queue-runner hydra-evaluator ; do
prev=$(realpath $out/bin/$prog)
rm $out/bin/$prog
cat >$out/bin/$prog <<EOF
#!/bin/sh
args=()
for arg in "\$@"; do
if [ "\$arg" != "-v" ]; then
args+=("\$arg")
fi
done
exec $prev --quiet "\''${args[@]}"
EOF
chmod +x $out/bin/$prog
done
'';
};
hydraURL = "http://localhost:3001"; # externally visible URL
notificationSender = "hydra@jungle.bsc.es"; # e-mail of Hydra service
port = 3001;
# a standalone Hydra will require you to unset the buildMachinesFiles list to avoid using a nonexistant /etc/nix/machines
buildMachinesFiles = [ ];
# you will probably also want, otherwise *everything* will be built from scratch
useSubstitutes = true;
listenHost = "0.0.0.0"; # Force IPv4
};
systemd.services.hydra-send-stats.enable = lib.mkForce false;
networking.firewall.allowedTCPPorts = [ config.services.hydra.port ];
nix.settings.extra-allowed-uris = [
"git+ssh://git@bscpm04.bsc.es"
"git+ssh://git@gitlab-internal.bsc.es"
"https://github.com"
"git+ssh://github.com"
];
}

View File

@@ -0,0 +1,40 @@
{
lib,
pkgs,
config,
...
}:
{
# Enable common container config files in /etc/containers
virtualisation.containers.enable = true;
virtualisation = {
podman = {
enable = true;
# Required for containers under podman-compose to be able to talk to each other.
defaultNetwork.settings.dns_enabled = true;
};
};
# We cannot use /home since nfs does not support fileattrs needed by podman
systemd.tmpfiles.settings = {
"podman-users" = lib.mapAttrs' (
name: value:
lib.nameValuePair ("/var/lib/podman-users/" + name) {
d = {
group = value.group;
mode = value.homeMode;
user = name;
};
}
) (lib.filterAttrs (_: x: x.isNormalUser) config.users.users);
};
# Useful other development tools
environment.systemPackages = with pkgs; [
dive # look into docker image layers
podman-tui # status of containers in the terminal
podman-compose # start group of containers for dev
];
}

View File

@@ -94,18 +94,12 @@ let
}; };
}; };
# For now, only build toplevel packages in CI/Hydra pkgs = filterAttrs (_: isDerivation) bscPkgs;
pkgsTopLevel = filterAttrs (_: isDerivation) bscPkgs;
# Native build in that platform doesn't imply cross build works crossTargets = [ "riscv64" ];
canCrossCompile = platform: pkg: cross = prev.lib.genAttrs crossTargets (target:
(isDerivation pkg) && final.pkgsCross.${target}.bsc-ci.pkgs
# Must be defined explicitly );
(pkg.meta.cross or false) &&
(meta.availableOn platform pkg);
# For now only RISC-V
crossSet = { riscv64 = final.pkgsCross.riscv64.bsc.pkgsTopLevel; };
buildList = name: paths: buildList = name: paths:
final.runCommandLocal name { } '' final.runCommandLocal name { } ''
@@ -119,38 +113,22 @@ let
printf '%s\n' $deps >$out printf '%s\n' $deps >$out
''; '';
pkgsList = buildList "ci-pkgs" (builtins.attrValues pkgsTopLevel); crossList = builtins.mapAttrs (t: v: buildList t (builtins.attrValues v)) cross;
testsList = buildList "ci-tests" (collect isDerivation tests);
allList = buildList' "ci-all" [ pkgsList testsList ]; pkgsList = buildList "ci-pkgs" (builtins.attrValues pkgs);
# For now only RISC-V testList = buildList "ci-tests" (collect isDerivation tests);
crossList = buildList "ci-cross"
(filter all = buildList' "ci-all" [ pkgsList testList ];
(canCrossCompile final.pkgsCross.riscv64.stdenv.hostPlatform)
(builtins.attrValues crossSet.riscv64));
in bscPkgs // { in bscPkgs // {
# Prevent accidental usage of bsc attribute
lib = prev.lib // { bsc = throw "the bsc attribute is deprecated, packages are now in the root";
maintainers = prev.lib.maintainers // {
bsc = import ./pkgs/maintainers.nix;
};
};
# Prevent accidental usage of bsc-ci attribute
bsc-ci = throw "the bsc-ci attribute is deprecated, use bsc.ci";
# Internal for our CI tests # Internal for our CI tests
bsc = { bsc-ci = {
# CI targets for nix build inherit pkgs pkgsList;
ci = { pkgs = pkgsList; tests = testsList; all = allList; cross = crossList; }; inherit tests testList;
inherit cross crossList;
# Direct access to package sets inherit all;
tests = tests;
pkgs = bscPkgs;
pkgsTopLevel = pkgsTopLevel;
cross = crossSet;
# Hydra uses attribute sets of pkgs
hydraJobs = { tests = tests; pkgs = pkgsTopLevel; cross = crossSet; };
}; };
} }

View File

@@ -86,13 +86,4 @@ in
patchelf --add-needed libnuma.so $out/bin/AMDuProfPcm patchelf --add-needed libnuma.so $out/bin/AMDuProfPcm
set +x set +x
''; '';
meta = {
description = "Performance analysis tool-suite for x86 based applications";
homepage = "https://www.amd.com/es/developer/uprof.html";
platforms = lib.platforms.linux;
license = lib.licenses.unfree;
maintainers = with lib.maintainers.bsc; [ rarias varcila ];
};
} }

View File

@@ -29,7 +29,5 @@ in stdenv.mkDerivation {
description = "AMD Power Profiler Driver"; description = "AMD Power Profiler Driver";
homepage = "https://www.amd.com/es/developer/uprof.html"; homepage = "https://www.amd.com/es/developer/uprof.html";
platforms = lib.platforms.linux; platforms = lib.platforms.linux;
license = lib.licenses.unfree;
maintainers = with lib.maintainers.bsc; [ rarias varcila ];
}; };
} }

View File

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

View File

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

View File

@@ -20,7 +20,6 @@
#, python3Packages #, python3Packages
, installShellFiles , installShellFiles
, symlinkJoin , symlinkJoin
, enablePapi ? stdenv.hostPlatform == stdenv.buildPlatform # Disabled when cross-compiling
}: }:
let let
@@ -88,7 +87,7 @@ stdenv.mkDerivation rec {
--enable-sampling --enable-sampling
--with-unwind=${libunwind.dev} --with-unwind=${libunwind.dev}
--with-xml-prefix=${libxml2.dev} --with-xml-prefix=${libxml2.dev}
${lib.optionalString enablePapi "--with-papi=${papi}"} --with-papi=${papi}
${if (mpi != null) then ''--with-mpi=${mpi}'' ${if (mpi != null) then ''--with-mpi=${mpi}''
else ''--without-mpi''} else ''--without-mpi''}
--without-dyninst) --without-dyninst)
@@ -111,13 +110,4 @@ stdenv.mkDerivation rec {
# then [ "--enable-openmp" ] # then [ "--enable-openmp" ]
# else [] # else []
# ); # );
meta = {
homepage = "https://github.com/bsc-performance-tools/extrae";
description = "Instrumentation framework to generate execution traces of the most used parallel runtimes";
maintainers = [ ];
broken = true;
platforms = lib.platforms.linux;
license = lib.licenses.lgpl21Plus;
};
} }

View File

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

View File

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

View File

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

View File

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

View File

@@ -10,7 +10,7 @@
, zlib , zlib
, autoPatchelfHook , autoPatchelfHook
, libfabric , libfabric
, gcc , gcc13
, wrapCCWith , wrapCCWith
}: }:
@@ -26,12 +26,7 @@
let let
meta = { gcc = gcc13;
description = "Intel oneapi hpckit package component";
homepage = "https://www.intel.com/content/www/us/en/developer/tools/oneapi/hpc-toolkit-download.html";
license = lib.licenses.unfree;
maintainers = with lib.maintainers.bsc; [ abonerib ];
};
v = { v = {
hpckit = "2023.1.0"; hpckit = "2023.1.0";
@@ -92,8 +87,6 @@ let
dpkg -x $src $out dpkg -x $src $out
done done
''; '';
inherit meta;
}; };
joinDebs = name: names: joinDebs = name: names:
@@ -152,8 +145,6 @@ let
sed -i "s:I_MPI_SUBSTITUTE_INSTALLDIR:$out:g" "$i" sed -i "s:I_MPI_SUBSTITUTE_INSTALLDIR:$out:g" "$i"
done done
''; '';
inherit meta;
}; };
intel-tbb = stdenv.mkDerivation rec { intel-tbb = stdenv.mkDerivation rec {
@@ -192,8 +183,6 @@ let
rsync -a lib/intel64/gcc4.8/ $out/lib/ rsync -a lib/intel64/gcc4.8/ $out/lib/
popd popd
''; '';
inherit meta;
}; };
intel-compiler-shared = stdenv.mkDerivation rec { intel-compiler-shared = stdenv.mkDerivation rec {
@@ -251,8 +240,6 @@ let
popd popd
popd popd
''; '';
inherit meta;
}; };
@@ -318,8 +305,6 @@ let
ln -s $out/lib $out/lib_lin ln -s $out/lib $out/lib_lin
popd popd
''; '';
inherit meta;
}; };
intel-compiler = stdenv.mkDerivation rec { intel-compiler = stdenv.mkDerivation rec {
@@ -407,8 +392,6 @@ let
rsync -a documentation/en/man/common/ $out/share/man/ rsync -a documentation/en/man/common/ $out/share/man/
popd popd
''; '';
inherit meta;
}; };
wrapIntel = { cc, mygcc, extraBuild ? "", extraInstall ? "" }: wrapIntel = { cc, mygcc, extraBuild ? "", extraInstall ? "" }:

View File

@@ -126,12 +126,4 @@ in stdenv.mkDerivation {
# nanos6 installation, but this is would require a recompilation of clang each # nanos6 installation, but this is would require a recompilation of clang each
# time nanos6 is changed. Better to use the environment variable NANOS6_HOME, # time nanos6 is changed. Better to use the environment variable NANOS6_HOME,
# and specify nanos6 at run time. # and specify nanos6 at run time.
meta = {
homepage = "https://gitlab.pm.bsc.es/llvm-ompss/llvm-mono";
description = "C language family frontend for LLVM (for OmpSs-2)";
maintainers = with lib.maintainers.bsc; [ rpenacob ];
platforms = lib.platforms.linux;
license = [ lib.licenses.asl20 lib.licenses.llvm-exception ];
};
} }

View File

@@ -74,13 +74,5 @@ stdenv.mkDerivation rec {
passthru = { passthru = {
inherit nosv; inherit nosv;
}; };
meta = {
homepage = "https://gitlab.pm.bsc.es/llvm-ompss/llvm-mono";
description = "Support for the OpenMP language (with nOS-V)";
maintainers = with lib.maintainers.bsc; [ rpenacob ];
platforms = lib.platforms.linux;
license = [ lib.licenses.asl20 lib.licenses.llvm-exception ];
};
} }

View File

@@ -35,16 +35,13 @@ stdenv.mkDerivation rec {
CFLAGS=-Wno-implicit-int CFLAGS=-Wno-implicit-int
CPPFLAGS=-I${libtirpc.dev}/include/tirpc CPPFLAGS=-I${libtirpc.dev}/include/tirpc
LDFLAGS=-ltirpc LDFLAGS=-ltirpc
CC=$CC
AR=$AR
) )
''; '';
meta = { meta = {
description = "lmbench"; description = "lmbench";
homepage = "https://github.com/intel/lmbench"; homepage = "http://www.bitmover.com/lmbench/";
maintainers = with lib.maintainers.bsc; [ rarias ]; maintainers = [ ];
platforms = lib.platforms.all; platforms = lib.platforms.all;
license = lib.licenses.gpl2Plus;
}; };
} }

View File

@@ -1,7 +0,0 @@
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";
varcila.name = "Vincent Arcila";
}

View File

@@ -1,6 +1,5 @@
{ {
stdenv stdenv
, lib
, fetchFromGitHub , fetchFromGitHub
, autoreconfHook , autoreconfHook
, nanos6 , nanos6
@@ -63,12 +62,4 @@ stdenv.mkDerivation rec {
# Fails with "memory exhausted" with bison 3.7.1 # Fails with "memory exhausted" with bison 3.7.1
# "--enable-bison-regeneration" # "--enable-bison-regeneration"
]; ];
meta = {
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 ];
platforms = lib.platforms.linux;
license = lib.licenses.gpl3Plus;
};
} }

View File

@@ -1,6 +1,5 @@
{ {
stdenv stdenv
, lib
, fetchFromGitHub , fetchFromGitHub
, autoreconfHook , autoreconfHook
, nanos6 , nanos6
@@ -58,12 +57,4 @@ stdenv.mkDerivation rec {
# Fails with "memory exhausted" with bison 3.7.1 # Fails with "memory exhausted" with bison 3.7.1
# "--enable-bison-regeneration" # "--enable-bison-regeneration"
]; ];
meta = {
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 ];
platforms = lib.platforms.linux;
license = lib.licenses.gpl3Plus;
};
} }

View File

@@ -1,5 +1,4 @@
{ stdenv { stdenv
, lib
, fetchgit , fetchgit
, autoreconfHook , autoreconfHook
, nanos6 , nanos6
@@ -57,12 +56,4 @@ stdenv.mkDerivation rec {
#preBuild = '' #preBuild = ''
# make generate_builtins_ia32 GXX_X86_BUILTINS=${gcc}/bin/g++ # make generate_builtins_ia32 GXX_X86_BUILTINS=${gcc}/bin/g++
#''; #'';
#
meta = {
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; [ rarias ];
platforms = lib.platforms.linux;
license = lib.licenses.gpl3Plus;
};
} }

View File

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

View File

@@ -16,7 +16,6 @@
, jemallocNanos6 ? null , jemallocNanos6 ? null
, cachelineBytes ? 64 , cachelineBytes ? 64
, enableGlibcxxDebug ? false , enableGlibcxxDebug ? false
, enablePapi ? stdenv.hostPlatform == stdenv.buildPlatform # Disabled when cross-compiling
, useGit ? false , useGit ? false
, gitUrl ? "ssh://git@bscpm04.bsc.es/nanos6/nanos6" , gitUrl ? "ssh://git@bscpm04.bsc.es/nanos6/nanos6"
, gitBranch ? "master" , gitBranch ? "master"
@@ -48,8 +47,6 @@ let
}; };
source = if (useGit) then git else release; source = if (useGit) then git else release;
isCross = stdenv.hostPlatform != stdenv.buildPlatform;
in in
stdenv.mkDerivation (source // { stdenv.mkDerivation (source // {
pname = "nanos6"; pname = "nanos6";
@@ -74,13 +71,9 @@ in
"--disable-all-instrumentations" "--disable-all-instrumentations"
"--enable-ovni-instrumentation" "--enable-ovni-instrumentation"
"--with-ovni=${ovni}" "--with-ovni=${ovni}"
"--with-boost=${boost.dev}"
] ++ ] ++
(optional enableJemalloc "--with-jemalloc=${jemallocNanos6}") ++ (optional enableJemalloc "--with-jemalloc=${jemallocNanos6}") ++
(optional enableGlibcxxDebug "CXXFLAGS=-D_GLIBCXX_DEBUG") ++ (optional enableGlibcxxDebug "CXXFLAGS=-D_GLIBCXX_DEBUG");
# Most nanos6 api symbols are resolved at runtime, so prefer
# ifunc by default
(optional isCross "--with-symbol-resolution=ifunc");
postConfigure = lib.optionalString (!enableDebug) '' postConfigure = lib.optionalString (!enableDebug) ''
# Disable debug # Disable debug
@@ -104,14 +97,16 @@ in
# TODO: papi_version is needed for configure: # TODO: papi_version is needed for configure:
# ./configure: line 27378: papi_version: command not found # ./configure: line 27378: papi_version: command not found
# This probably breaks cross-compilation # This probably breaks cross-compilation
] ++ lib.optionals enablePapi [ papi ]; papi
];
buildInputs = [ buildInputs = [
boost boost
numactl numactl
hwloc hwloc
papi
ovni ovni
] ++ lib.optionals enablePapi [ papi ]; ];
# Create a script that sets NANOS6_HOME # Create a script that sets NANOS6_HOME
postInstall = '' postInstall = ''
@@ -119,12 +114,11 @@ in
echo "export NANOS6_HOME=$out" >> $out/nix-support/setup-hook echo "export NANOS6_HOME=$out" >> $out/nix-support/setup-hook
''; '';
meta = { meta = with lib; {
homepage = "https://github.com/bsc-pm/nanos6"; homepage = "https://github.com/bsc-pm/nanos6";
description = "Nanos6 runtime for OmpSs-2" + description = "Nanos6 runtime for OmpSs-2" +
optionalString (enableDebug) " (with debug symbols)"; optionalString (enableDebug) " (with debug symbols)";
maintainers = with lib.maintainers.bsc; [ rarias ]; platforms = platforms.linux;
platforms = lib.platforms.linux; license = licenses.gpl3;
license = lib.licenses.gpl3Plus;
}; };
}) })

View File

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

View File

@@ -1,6 +1,5 @@
{ {
stdenv stdenv
, lib
, bashInteractive , bashInteractive
, busybox , busybox
, nix , nix
@@ -87,14 +86,5 @@ stdenv.mkDerivation rec {
mkdir -p $out/share mkdir -p $out/share
cp ${nix_conf} $out/share/nix.conf cp ${nix_conf} $out/share/nix.conf
''; '';
meta = {
homepage = null;
description = "nix bubblewrap wrapper";
maintainers = [ ];
broken = true;
platforms = lib.platforms.linux;
license = lib.licenses.mit;
};
} }

View File

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

View File

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

View File

@@ -7,7 +7,7 @@
, numactl , numactl
, hwloc , hwloc
, papi , papi
, enablePapi ? stdenv.hostPlatform == stdenv.buildPlatform # Disabled when cross-compiling , enablePapi ? true
, cacheline ? 64 # bits , cacheline ? 64 # bits
, ovni ? null , ovni ? null
, useGit ? false , useGit ? false
@@ -59,12 +59,4 @@ in
hwloc hwloc
ovni ovni
] ++ lib.optionals enablePapi [ papi ]; ] ++ lib.optionals enablePapi [ papi ];
meta = {
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 lib.maintainers.bsc; [ abonerib rarias ];
platforms = lib.platforms.linux;
license = lib.licenses.gpl3Plus;
};
} }

View File

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

View File

@@ -1,6 +1,5 @@
{ {
stdenv stdenv
, lib
, fetchFromGitHub , fetchFromGitHub
, autoreconfHook , autoreconfHook
, boost , boost
@@ -89,18 +88,4 @@ stdenv.mkDerivation rec {
mkdir -p $out/share/man mkdir -p $out/share/man
mv $out/share/doc/wxparaver_help_contents/man $out/share/man/man1 mv $out/share/doc/wxparaver_help_contents/man $out/share/man/man1
''; '';
meta = {
homepage = "https://tools.bsc.es/paraver";
downloadPage = "https://github.com/bsc-performance-tools/wxparaver";
description = "Performance analyzer based on event traces";
longDescription = ''
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 lib.maintainers.bsc; [ rarias ];
platforms = lib.platforms.linux;
license = lib.licenses.lgpl21Plus;
};
} }

View File

@@ -1,6 +1,5 @@
{ {
stdenv stdenv
, lib
, fetchFromGitHub , fetchFromGitHub
, autoreconfHook , autoreconfHook
, boost , boost
@@ -58,13 +57,4 @@ stdenv.mkDerivation rec {
xml2 xml2
zlib zlib
]; ];
meta = {
homepage = "https://tools.bsc.es/paraver";
downloadPage = "https://github.com/bsc-performance-tools/paraver-kernel";
description = "Kernel library used by wxparaver";
maintainers = with lib.maintainers.bsc; [ rarias ];
platforms = lib.platforms.linux;
license = lib.licenses.lgpl21Plus;
};
} }

View File

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

View File

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

View File

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