forked from rarias/jungle
Compare commits
46 Commits
dcdbcc5afa
...
enableStri
| Author | SHA1 | Date | |
|---|---|---|---|
|
98cac0fb8d
|
|||
|
ea89344945
|
|||
|
fed0cc9685
|
|||
|
87da05df91
|
|||
|
66a3047596
|
|||
|
8cd97fd7cb
|
|||
|
0e2a90db13
|
|||
|
b0e754e0e7
|
|||
|
f6c8c78305
|
|||
| 4832e7bc34 | |||
| 39eddb76c1 | |||
| cf47139ebe | |||
|
54dfaa9dff
|
|||
|
34238d81c7
|
|||
|
1b36c70512
|
|||
|
f5b1082ab9
|
|||
|
386cfd8973
|
|||
|
f9db76c466
|
|||
|
0a255b1ffa
|
|||
|
af512636ac
|
|||
|
9dae6a6f38
|
|||
|
839b9b8c76
|
|||
|
7ac154a55b
|
|||
|
14af841511
|
|||
|
1d02f7fae4
|
|||
|
a71b12c60e
|
|||
|
b96e3422b2
|
|||
|
e7b3f972b0
|
|||
|
79fdfc6c0e
|
|||
|
71352ff5d1
|
|||
|
06925bc0ca
|
|||
|
1eaca98618
|
|||
|
7195ca4cb6
|
|||
|
7674f61b17
|
|||
| f71e807d47 | |||
| 461d96dc75 | |||
| 26d9e3d432 | |||
| 5c30975b8b | |||
| d4c00679ee | |||
| 32a576e870 | |||
| 8197221146 | |||
| 374cd4ce48 | |||
| d3e54b7c99 | |||
| 46b7efb5ac | |||
| 56ab099017 | |||
| 2654b9fdd9 |
3
keys.nix
3
keys.nix
@@ -22,8 +22,9 @@ rec {
|
|||||||
storage = [ bay lake2 ];
|
storage = [ bay lake2 ];
|
||||||
monitor = [ hut ];
|
monitor = [ hut ];
|
||||||
login = [ apex ];
|
login = [ apex ];
|
||||||
|
services = [ tent ];
|
||||||
|
|
||||||
system = storage ++ monitor ++ login;
|
system = storage ++ monitor ++ login ++ services;
|
||||||
safe = system ++ compute;
|
safe = system ++ compute;
|
||||||
all = safe ++ playground;
|
all = safe ++ playground;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
mountdPort = 4002;
|
mountdPort = 4002;
|
||||||
statdPort = 4000;
|
statdPort = 4000;
|
||||||
exports = ''
|
exports = ''
|
||||||
/home 10.0.40.0/24(rw,async,no_subtree_check,no_root_squash)
|
/home 10.0.40.0/21(rw,async,no_subtree_check,no_root_squash)
|
||||||
/home 10.106.0.0/24(rw,async,no_subtree_check,no_root_squash)
|
/home 10.106.0.0/24(rw,async,no_subtree_check,no_root_squash)
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
@@ -15,19 +15,19 @@
|
|||||||
# Check with `rpcinfo -p`
|
# Check with `rpcinfo -p`
|
||||||
extraCommands = ''
|
extraCommands = ''
|
||||||
# Accept NFS traffic from compute nodes but not from the outside
|
# Accept NFS traffic from compute nodes but not from the outside
|
||||||
iptables -A nixos-fw -p tcp -s 10.0.40.0/24 --dport 111 -j nixos-fw-accept
|
iptables -A nixos-fw -p tcp -s 10.0.40.0/21 --dport 111 -j nixos-fw-accept
|
||||||
iptables -A nixos-fw -p tcp -s 10.0.40.0/24 --dport 2049 -j nixos-fw-accept
|
iptables -A nixos-fw -p tcp -s 10.0.40.0/21 --dport 2049 -j nixos-fw-accept
|
||||||
iptables -A nixos-fw -p tcp -s 10.0.40.0/24 --dport 4000 -j nixos-fw-accept
|
iptables -A nixos-fw -p tcp -s 10.0.40.0/21 --dport 4000 -j nixos-fw-accept
|
||||||
iptables -A nixos-fw -p tcp -s 10.0.40.0/24 --dport 4001 -j nixos-fw-accept
|
iptables -A nixos-fw -p tcp -s 10.0.40.0/21 --dport 4001 -j nixos-fw-accept
|
||||||
iptables -A nixos-fw -p tcp -s 10.0.40.0/24 --dport 4002 -j nixos-fw-accept
|
iptables -A nixos-fw -p tcp -s 10.0.40.0/21 --dport 4002 -j nixos-fw-accept
|
||||||
iptables -A nixos-fw -p tcp -s 10.0.40.0/24 --dport 20048 -j nixos-fw-accept
|
iptables -A nixos-fw -p tcp -s 10.0.40.0/21 --dport 20048 -j nixos-fw-accept
|
||||||
# Same but UDP
|
# Same but UDP
|
||||||
iptables -A nixos-fw -p udp -s 10.0.40.0/24 --dport 111 -j nixos-fw-accept
|
iptables -A nixos-fw -p udp -s 10.0.40.0/21 --dport 111 -j nixos-fw-accept
|
||||||
iptables -A nixos-fw -p udp -s 10.0.40.0/24 --dport 2049 -j nixos-fw-accept
|
iptables -A nixos-fw -p udp -s 10.0.40.0/21 --dport 2049 -j nixos-fw-accept
|
||||||
iptables -A nixos-fw -p udp -s 10.0.40.0/24 --dport 4000 -j nixos-fw-accept
|
iptables -A nixos-fw -p udp -s 10.0.40.0/21 --dport 4000 -j nixos-fw-accept
|
||||||
iptables -A nixos-fw -p udp -s 10.0.40.0/24 --dport 4001 -j nixos-fw-accept
|
iptables -A nixos-fw -p udp -s 10.0.40.0/21 --dport 4001 -j nixos-fw-accept
|
||||||
iptables -A nixos-fw -p udp -s 10.0.40.0/24 --dport 4002 -j nixos-fw-accept
|
iptables -A nixos-fw -p udp -s 10.0.40.0/21 --dport 4002 -j nixos-fw-accept
|
||||||
iptables -A nixos-fw -p udp -s 10.0.40.0/24 --dport 20048 -j nixos-fw-accept
|
iptables -A nixos-fw -p udp -s 10.0.40.0/21 --dport 20048 -j nixos-fw-accept
|
||||||
|
|
||||||
# Accept NFS traffic from wg0
|
# Accept NFS traffic from wg0
|
||||||
iptables -A nixos-fw -p tcp -i wg0 -s 10.106.0.0/24 --dport 111 -j nixos-fw-accept
|
iptables -A nixos-fw -p tcp -i wg0 -s 10.106.0.0/24 --dport 111 -j nixos-fw-accept
|
||||||
|
|||||||
@@ -35,7 +35,7 @@
|
|||||||
# Accept monitoring requests from hut
|
# Accept monitoring requests from hut
|
||||||
iptables -A nixos-fw -p tcp -s hut -m multiport --dport 9283,9002 -j nixos-fw-accept
|
iptables -A nixos-fw -p tcp -s hut -m multiport --dport 9283,9002 -j nixos-fw-accept
|
||||||
# Accept all Ceph traffic from the local network
|
# Accept all Ceph traffic from the local network
|
||||||
iptables -A nixos-fw -p tcp -s 10.0.40.0/24 -m multiport --dport 3300,6789,6800:7568 -j nixos-fw-accept
|
iptables -A nixos-fw -p tcp -s 10.0.40.0/21 -m multiport --dport 3300,6789,6800:7568 -j nixos-fw-accept
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -134,7 +134,7 @@
|
|||||||
home = "/home/Computational/varcila";
|
home = "/home/Computational/varcila";
|
||||||
description = "Vincent Arcila";
|
description = "Vincent Arcila";
|
||||||
group = "Computational";
|
group = "Computational";
|
||||||
hosts = [ "apex" "hut" "tent" "fox" ];
|
hosts = [ "apex" "hut" "tent" "fox" "owl1" "owl2" ];
|
||||||
hashedPassword = "$6$oB0Tcn99DcM4Ch$Vn1A0ulLTn/8B2oFPi9wWl/NOsJzaFAWjqekwcuC9sMC7cgxEVb.Nk5XSzQ2xzYcNe5MLtmzkVYnRS1CqP39Y0";
|
hashedPassword = "$6$oB0Tcn99DcM4Ch$Vn1A0ulLTn/8B2oFPi9wWl/NOsJzaFAWjqekwcuC9sMC7cgxEVb.Nk5XSzQ2xzYcNe5MLtmzkVYnRS1CqP39Y0";
|
||||||
openssh.authorizedKeys.keys = [
|
openssh.authorizedKeys.keys = [
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKGt0ESYxekBiHJQowmKpfdouw0hVm3N7tUMtAaeLejK vincent@varch"
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKGt0ESYxekBiHJQowmKpfdouw0hVm3N7tUMtAaeLejK vincent@varch"
|
||||||
|
|||||||
@@ -51,6 +51,7 @@
|
|||||||
"/nix/store:/nix/store:ro"
|
"/nix/store:/nix/store:ro"
|
||||||
"/nix/var/nix/db:/nix/var/nix/db:ro"
|
"/nix/var/nix/db:/nix/var/nix/db:ro"
|
||||||
"/nix/var/nix/daemon-socket:/nix/var/nix/daemon-socket:ro"
|
"/nix/var/nix/daemon-socket:/nix/var/nix/daemon-socket:ro"
|
||||||
|
"/var/run/postgresql/:/var/run/postgresql/"
|
||||||
];
|
];
|
||||||
dockerExtraHosts = [
|
dockerExtraHosts = [
|
||||||
# Required to pass the proxy via hut
|
# Required to pass the proxy via hut
|
||||||
@@ -60,6 +61,8 @@
|
|||||||
registrationFlags = [
|
registrationFlags = [
|
||||||
# Increase build log length to 64 MiB
|
# Increase build log length to 64 MiB
|
||||||
"--output-limit 65536"
|
"--output-limit 65536"
|
||||||
|
# Allow the runner to be used in multiple projects
|
||||||
|
"--locked=false"
|
||||||
];
|
];
|
||||||
preBuildScript = pkgs.writeScript "setup-container" ''
|
preBuildScript = pkgs.writeScript "setup-container" ''
|
||||||
mkdir -p -m 0755 /nix/var/log/nix/drvs
|
mkdir -p -m 0755 /nix/var/log/nix/drvs
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
../module/slurm-exporter.nix
|
../module/slurm-exporter.nix
|
||||||
../module/meteocat-exporter.nix
|
../module/meteocat-exporter.nix
|
||||||
../module/upc-qaire-exporter.nix
|
../module/upc-qaire-exporter.nix
|
||||||
./gpfs-probe.nix
|
./ssh-robot-probes.nix
|
||||||
../module/nix-daemon-exporter.nix
|
../module/nix-daemon-exporter.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
@@ -111,6 +111,7 @@
|
|||||||
"127.0.0.1:${toString config.services.prometheus.exporters.smartctl.port}"
|
"127.0.0.1:${toString config.services.prometheus.exporters.smartctl.port}"
|
||||||
"127.0.0.1:9341" # Slurm exporter
|
"127.0.0.1:9341" # Slurm exporter
|
||||||
"127.0.0.1:9966" # GPFS custom exporter
|
"127.0.0.1:9966" # GPFS custom exporter
|
||||||
|
"127.0.0.1:9967" # SLURM custom exporter
|
||||||
"127.0.0.1:9999" # Nix-daemon custom exporter
|
"127.0.0.1:9999" # Nix-daemon custom exporter
|
||||||
"127.0.0.1:9929" # Meteocat custom exporter
|
"127.0.0.1:9929" # Meteocat custom exporter
|
||||||
"127.0.0.1:9928" # UPC Qaire custom exporter
|
"127.0.0.1:9928" # UPC Qaire custom exporter
|
||||||
|
|||||||
@@ -29,6 +29,7 @@
|
|||||||
closing = pkgs.writeText "closing.txt"
|
closing = pkgs.writeText "closing.txt"
|
||||||
''
|
''
|
||||||
Subject: OmpSs-2 release enters closing period
|
Subject: OmpSs-2 release enters closing period
|
||||||
|
To: star@bsc.es
|
||||||
|
|
||||||
Hi,
|
Hi,
|
||||||
|
|
||||||
@@ -42,6 +43,7 @@
|
|||||||
freeze = pkgs.writeText "freeze.txt"
|
freeze = pkgs.writeText "freeze.txt"
|
||||||
''
|
''
|
||||||
Subject: OmpSs-2 release enters freeze period
|
Subject: OmpSs-2 release enters freeze period
|
||||||
|
To: star@bsc.es
|
||||||
|
|
||||||
Hi,
|
Hi,
|
||||||
|
|
||||||
@@ -55,6 +57,7 @@
|
|||||||
release = pkgs.writeText "release.txt"
|
release = pkgs.writeText "release.txt"
|
||||||
''
|
''
|
||||||
Subject: OmpSs-2 release now
|
Subject: OmpSs-2 release now
|
||||||
|
To: star@bsc.es
|
||||||
|
|
||||||
Hi,
|
Hi,
|
||||||
|
|
||||||
@@ -69,7 +72,7 @@
|
|||||||
script = ''
|
script = ''
|
||||||
set -eu
|
set -eu
|
||||||
set -o pipefail
|
set -o pipefail
|
||||||
cat ${mail} | ${config.security.wrapperDir}/sendmail star@bsc.es
|
cat ${mail} | ${config.security.wrapperDir}/sendmail -t star@bsc.es
|
||||||
'';
|
'';
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
|
|||||||
@@ -8,12 +8,14 @@
|
|||||||
{ name = "anavarro"; ensureClauses.superuser = true; }
|
{ name = "anavarro"; ensureClauses.superuser = true; }
|
||||||
{ name = "rarias"; ensureClauses.superuser = true; }
|
{ name = "rarias"; ensureClauses.superuser = true; }
|
||||||
{ name = "grafana"; }
|
{ name = "grafana"; }
|
||||||
|
{ name = "gitlab-runner"; }
|
||||||
];
|
];
|
||||||
authentication = ''
|
authentication = ''
|
||||||
#type database DBuser auth-method
|
#type database DBuser auth-method
|
||||||
local perftestsdb rarias trust
|
local perftestsdb rarias trust
|
||||||
local perftestsdb anavarro trust
|
local perftestsdb anavarro trust
|
||||||
local perftestsdb grafana trust
|
local perftestsdb grafana trust
|
||||||
|
local perftestsdb gitlab-runner trust
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
8
m/hut/sblame-probe.sh
Executable file
8
m/hut/sblame-probe.sh
Executable file
@@ -0,0 +1,8 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
cat <<EOF
|
||||||
|
HTTP/1.1 200 OK
|
||||||
|
Content-Type: text/plain; version=0.0.4; charset=utf-8; escaping=values
|
||||||
|
|
||||||
|
EOF
|
||||||
|
ssh bsc015557@glogin2.bsc.es "timeout 3 command sblame -E"
|
||||||
@@ -6,6 +6,12 @@ let
|
|||||||
chmod +x $out
|
chmod +x $out
|
||||||
''
|
''
|
||||||
;
|
;
|
||||||
|
sblame-probe-script = pkgs.runCommand "sblame-probe.sh" { }
|
||||||
|
''
|
||||||
|
cp ${./sblame-probe.sh} $out;
|
||||||
|
chmod +x $out
|
||||||
|
''
|
||||||
|
;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
# Use a new user to handle the SSH keys
|
# Use a new user to handle the SSH keys
|
||||||
@@ -28,4 +34,17 @@ in
|
|||||||
Group = "ssh-robot";
|
Group = "ssh-robot";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
systemd.services.sblame-probe = {
|
||||||
|
description = "Daemon to report SLURM statistics via SSH";
|
||||||
|
path = [ pkgs.openssh pkgs.netcat ];
|
||||||
|
after = [ "network.target" ];
|
||||||
|
wantedBy = [ "default.target" ];
|
||||||
|
serviceConfig = {
|
||||||
|
Type = "simple";
|
||||||
|
ExecStart = "${pkgs.socat}/bin/socat TCP4-LISTEN:9967,fork EXEC:${sblame-probe-script}";
|
||||||
|
User = "ssh-robot";
|
||||||
|
Group = "ssh-robot";
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
@@ -57,7 +57,7 @@
|
|||||||
# Accept monitoring requests from hut
|
# Accept monitoring requests from hut
|
||||||
iptables -A nixos-fw -p tcp -s hut --dport 9002 -j nixos-fw-accept
|
iptables -A nixos-fw -p tcp -s hut --dport 9002 -j nixos-fw-accept
|
||||||
# Accept all Ceph traffic from the local network
|
# Accept all Ceph traffic from the local network
|
||||||
iptables -A nixos-fw -p tcp -s 10.0.40.0/24 -m multiport --dport 3300,6789,6800:7568 -j nixos-fw-accept
|
iptables -A nixos-fw -p tcp -s 10.0.40.0/21 -m multiport --dport 3300,6789,6800:7568 -j nixos-fw-accept
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
../module/vpn-dac.nix
|
../module/vpn-dac.nix
|
||||||
../module/hut-substituter.nix
|
../module/hut-substituter.nix
|
||||||
../module/tc1-board.nix
|
../module/tc1-board.nix
|
||||||
|
../module/ceph.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
# Select the this using the ID to avoid mismatches
|
# Select the this using the ID to avoid mismatches
|
||||||
@@ -64,6 +65,13 @@
|
|||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Mount the NFS home
|
||||||
|
fileSystems."/nfs/home" = {
|
||||||
|
device = "10.106.0.30:/home";
|
||||||
|
fsType = "nfs";
|
||||||
|
options = [ "nfsvers=3" "rsize=1024" "wsize=1024" "cto" "nofail" ];
|
||||||
|
};
|
||||||
|
|
||||||
# Make a /vault/$USER directory for each user.
|
# Make a /vault/$USER directory for each user.
|
||||||
systemd.services.create-vault-dirs = let
|
systemd.services.create-vault-dirs = let
|
||||||
# Take only normal users in tent
|
# Take only normal users in tent
|
||||||
|
|||||||
@@ -1,4 +1,7 @@
|
|||||||
{ config, lib, ... }:
|
{ config, lib, ... }:
|
||||||
|
let
|
||||||
|
cfg = config.services.gitea;
|
||||||
|
in
|
||||||
{
|
{
|
||||||
services.gitea = {
|
services.gitea = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -26,6 +29,52 @@
|
|||||||
SENDMAIL_ARGS = "--";
|
SENDMAIL_ARGS = "--";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
dump = {
|
||||||
|
enable = false; # Do not enable NixOS module, use our custom systemd script below
|
||||||
|
backupDir = "/vault/backup/gitea";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.services.gitea-backup = let
|
||||||
|
exe = lib.getExe cfg.package;
|
||||||
|
in {
|
||||||
|
description = "Gitea daily backup";
|
||||||
|
after = [ "gitea.service" ];
|
||||||
|
path = [ cfg.package ];
|
||||||
|
|
||||||
|
environment = {
|
||||||
|
USER = cfg.user;
|
||||||
|
HOME = cfg.stateDir;
|
||||||
|
GITEA_WORK_DIR = cfg.stateDir;
|
||||||
|
GITEA_CUSTOM = cfg.customDir;
|
||||||
|
};
|
||||||
|
|
||||||
|
serviceConfig = {
|
||||||
|
Type = "oneshot";
|
||||||
|
User = cfg.user;
|
||||||
|
WorkingDirectory = cfg.dump.backupDir;
|
||||||
|
};
|
||||||
|
|
||||||
|
script = ''
|
||||||
|
name="gitea-dump-$(date +%a).${cfg.dump.type}"
|
||||||
|
${exe} dump --type ${cfg.dump.type} --file - >"$name.tmp"
|
||||||
|
mv "$name.tmp" "$name"
|
||||||
|
cp "$name" "/ceph/backup/gitea/$name"
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
# Create also the /ceph directories if needed
|
||||||
|
systemd.tmpfiles.rules = [
|
||||||
|
"d /ceph/backup/gitea/ 0750 ${cfg.user} ${cfg.group} - -"
|
||||||
|
"z /ceph/backup/gitea/ 0750 ${cfg.user} ${cfg.group} - -"
|
||||||
|
];
|
||||||
|
|
||||||
|
systemd.timers.gitea-backup = {
|
||||||
|
description = "Update timer for gitea-backup";
|
||||||
|
partOf = [ "gitea-backup.service" ];
|
||||||
|
wantedBy = [ "timers.target" ];
|
||||||
|
timerConfig.OnCalendar = cfg.dump.interval;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Allow gitea user to send mail
|
# Allow gitea user to send mail
|
||||||
|
|||||||
11
overlay.nix
11
overlay.nix
@@ -39,15 +39,7 @@ let
|
|||||||
nanos6Debug = final.nanos6.override { enableDebug = true; };
|
nanos6Debug = final.nanos6.override { enableDebug = true; };
|
||||||
nixtools = callPackage ./pkgs/nixtools/default.nix { };
|
nixtools = callPackage ./pkgs/nixtools/default.nix { };
|
||||||
nixgen = callPackage ./pkgs/nixgen/default.nix { };
|
nixgen = callPackage ./pkgs/nixgen/default.nix { };
|
||||||
nix-portable = callPackage ./pkgs/nix-portable/default.nix {
|
nix-portable = callPackage ./pkgs/nix-portable/default.nix { };
|
||||||
busybox = final.pkgsStatic.busybox;
|
|
||||||
bwrap = final.pkgsStatic.bubblewrap;
|
|
||||||
gnutar = final.pkgsStatic.gnutar;
|
|
||||||
perl = final.pkgsBuildBuild.perl;
|
|
||||||
xz = final.pkgsStatic.xz;
|
|
||||||
zstd = final.pkgsStatic.zstd;
|
|
||||||
bashInteractive = final.pkgsStatic.bashInteractive;
|
|
||||||
};
|
|
||||||
nix-wrap = callPackage ./pkgs/nix-wrap/default.nix { };
|
nix-wrap = callPackage ./pkgs/nix-wrap/default.nix { };
|
||||||
nodes = callPackage ./pkgs/nodes/default.nix { };
|
nodes = callPackage ./pkgs/nodes/default.nix { };
|
||||||
nosv = callPackage ./pkgs/nosv/default.nix { };
|
nosv = callPackage ./pkgs/nosv/default.nix { };
|
||||||
@@ -56,6 +48,7 @@ let
|
|||||||
osumb = callPackage ./pkgs/osu/default.nix { };
|
osumb = callPackage ./pkgs/osu/default.nix { };
|
||||||
ovni = callPackage ./pkgs/ovni/default.nix { };
|
ovni = callPackage ./pkgs/ovni/default.nix { };
|
||||||
ovniGit = final.ovni.override { useGit = true; };
|
ovniGit = final.ovni.override { useGit = true; };
|
||||||
|
papi = callPackage ./pkgs/papi/default.nix { papi = prev.papi; };
|
||||||
paraverKernel = callPackage ./pkgs/paraver/kernel.nix { };
|
paraverKernel = callPackage ./pkgs/paraver/kernel.nix { };
|
||||||
prometheus-slurm-exporter = prev.callPackage ./pkgs/slurm-exporter/default.nix { };
|
prometheus-slurm-exporter = prev.callPackage ./pkgs/slurm-exporter/default.nix { };
|
||||||
#pscom = callPackage ./pkgs/parastation/pscom.nix { }; # Unmaintaned
|
#pscom = callPackage ./pkgs/parastation/pscom.nix { }; # Unmaintaned
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ let
|
|||||||
# NOTE: Remember to update the radare2 patch below if AMDuProfPcm changes.
|
# NOTE: Remember to update the radare2 patch below if AMDuProfPcm changes.
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.amd.com/developer/eula/uprof/uprof-5-1/${tarball}";
|
url = "https://download.amd.com/developer/eula/uprof/uprof-5-1/${tarball}";
|
||||||
sha256 = "sha256-jAmsw/xmctJ2r7BKyuA+9exLgZbu3cvrYtyRUUTt8sM=";
|
sha256 = "sha256-j9gxcBcIg6Zhc5FglUXf/VV9bKSo+PAKeootbN7ggYk=";
|
||||||
curlOptsList = [
|
curlOptsList = [
|
||||||
"-H" "User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:139.0) Gecko/20100101 Firefox/139.0"
|
"-H" "User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:139.0) Gecko/20100101 Firefox/139.0"
|
||||||
"-H" "'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'"
|
"-H" "'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'"
|
||||||
@@ -34,10 +34,6 @@ let
|
|||||||
"-H" "Accept-Encoding: gzip, deflate, br, zstd"
|
"-H" "Accept-Encoding: gzip, deflate, br, zstd"
|
||||||
"-H" "Referer: https://www.amd.com/"
|
"-H" "Referer: https://www.amd.com/"
|
||||||
];
|
];
|
||||||
downloadToTemp = true;
|
|
||||||
postFetch = ''
|
|
||||||
cat "$downloadedFile" | tr '\r' '\n' > "$out"
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
|
|
||||||
in
|
in
|
||||||
@@ -45,6 +41,7 @@ in
|
|||||||
pname = "AMD-uProf";
|
pname = "AMD-uProf";
|
||||||
inherit src version;
|
inherit src version;
|
||||||
dontStrip = true;
|
dontStrip = true;
|
||||||
|
strictDeps = true;
|
||||||
phases = [ "installPhase" "fixupPhase" ];
|
phases = [ "installPhase" "fixupPhase" ];
|
||||||
nativeBuildInputs = [ autoPatchelfHook radare2 ];
|
nativeBuildInputs = [ autoPatchelfHook radare2 ];
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ in stdenv.mkDerivation {
|
|||||||
set +x
|
set +x
|
||||||
'';
|
'';
|
||||||
hardeningDisable = [ "pic" "format" ];
|
hardeningDisable = [ "pic" "format" ];
|
||||||
|
strictDeps = true;
|
||||||
nativeBuildInputs = kernel.moduleBuildDependencies;
|
nativeBuildInputs = kernel.moduleBuildDependencies;
|
||||||
patches = [ ./makefile.patch ./hrtimer.patch ./remove-wr-rdmsrq.patch ];
|
patches = [ ./makefile.patch ./hrtimer.patch ./remove-wr-rdmsrq.patch ];
|
||||||
makeFlags = [
|
makeFlags = [
|
||||||
|
|||||||
@@ -59,6 +59,7 @@ stdenv.mkDerivation rec {
|
|||||||
];
|
];
|
||||||
hardeningDisable = [ "all" ];
|
hardeningDisable = [ "all" ];
|
||||||
dontStrip = true;
|
dontStrip = true;
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = "https://gitlab.pm.bsc.es/rarias/bench6";
|
homepage = "https://gitlab.pm.bsc.es/rarias/bench6";
|
||||||
|
|||||||
@@ -16,6 +16,8 @@ stdenv.mkDerivation {
|
|||||||
};
|
};
|
||||||
nativeBuildInputs = [ cmake ];
|
nativeBuildInputs = [ cmake ];
|
||||||
|
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = "https://github.com/rodarima/bigotes";
|
homepage = "https://github.com/rodarima/bigotes";
|
||||||
description = "Versatile benchmark tool";
|
description = "Versatile benchmark tool";
|
||||||
|
|||||||
@@ -10,11 +10,14 @@
|
|||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
name = "cudainfo";
|
name = "cudainfo";
|
||||||
src = ./.;
|
src = ./.;
|
||||||
buildInputs = [
|
strictDeps = true;
|
||||||
|
nativeBuildInputs = [
|
||||||
cudatoolkit # Required for nvcc
|
cudatoolkit # Required for nvcc
|
||||||
(lib.getOutput "static" cudaPackages.cuda_cudart) # Required for -lcudart_static
|
|
||||||
autoAddDriverRunpath
|
autoAddDriverRunpath
|
||||||
];
|
];
|
||||||
|
buildInputs = [
|
||||||
|
(lib.getOutput "static" cudaPackages.cuda_cudart) # Required for -lcudart_static
|
||||||
|
];
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/bin
|
mkdir -p $out/bin
|
||||||
cp -a cudainfo $out/bin
|
cp -a cudainfo $out/bin
|
||||||
@@ -23,6 +26,7 @@ stdenv.mkDerivation (finalAttrs: {
|
|||||||
name = "cudainfo-test";
|
name = "cudainfo-test";
|
||||||
requiredSystemFeatures = [ "cuda" ];
|
requiredSystemFeatures = [ "cuda" ];
|
||||||
dontBuild = true;
|
dontBuild = true;
|
||||||
|
strictDeps = true;
|
||||||
nativeCheckInputs = [
|
nativeCheckInputs = [
|
||||||
finalAttrs.finalPackage # The cudainfo package from above
|
finalAttrs.finalPackage # The cudainfo package from above
|
||||||
strace # When it fails, it will show the trace
|
strace # When it fails, it will show the trace
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
#, python3Packages
|
#, python3Packages
|
||||||
, installShellFiles
|
, installShellFiles
|
||||||
, symlinkJoin
|
, symlinkJoin
|
||||||
, enablePapi ? stdenv.hostPlatform == stdenv.buildPlatform # Disabled when cross-compiling
|
, enablePapi ? true
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ stdenv.mkDerivation rec {
|
|||||||
};
|
};
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
patches = [ ./rdma-core.patch ./max-mem.patch ];
|
patches = [ ./rdma-core.patch ./max-mem.patch ];
|
||||||
|
|
||||||
|
|||||||
@@ -128,6 +128,7 @@ let
|
|||||||
|
|
||||||
phases = [ "installPhase" "fixupPhase" ];
|
phases = [ "installPhase" "fixupPhase" ];
|
||||||
dontStrip = true;
|
dontStrip = true;
|
||||||
|
strictDeps = true;
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/{bin,etc,lib,include}
|
mkdir -p $out/{bin,etc,lib,include}
|
||||||
mkdir -p $out/share/man
|
mkdir -p $out/share/man
|
||||||
@@ -179,6 +180,7 @@ let
|
|||||||
];
|
];
|
||||||
phases = [ "installPhase" "fixupPhase" ];
|
phases = [ "installPhase" "fixupPhase" ];
|
||||||
dontStrip = true;
|
dontStrip = true;
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
autoPatchelfIgnoreMissingDeps = [ "libhwloc.so.5" ];
|
autoPatchelfIgnoreMissingDeps = [ "libhwloc.so.5" ];
|
||||||
|
|
||||||
@@ -222,6 +224,7 @@ let
|
|||||||
];
|
];
|
||||||
phases = [ "installPhase" "fixupPhase" ];
|
phases = [ "installPhase" "fixupPhase" ];
|
||||||
dontStrip = true;
|
dontStrip = true;
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
autoPatchelfIgnoreMissingDeps = [ "libsycl.so.6" ];
|
autoPatchelfIgnoreMissingDeps = [ "libsycl.so.6" ];
|
||||||
|
|
||||||
@@ -289,6 +292,7 @@ let
|
|||||||
phases = [ "installPhase" "fixupPhase" ];
|
phases = [ "installPhase" "fixupPhase" ];
|
||||||
|
|
||||||
dontStrip = true;
|
dontStrip = true;
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/{bin,lib,include}
|
mkdir -p $out/{bin,lib,include}
|
||||||
@@ -377,6 +381,7 @@ let
|
|||||||
phases = [ "installPhase" "fixupPhase" ];
|
phases = [ "installPhase" "fixupPhase" ];
|
||||||
|
|
||||||
dontStrip = true;
|
dontStrip = true;
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/{bin,lib}
|
mkdir -p $out/{bin,lib}
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
, lib
|
, lib
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, cmake
|
, cmake
|
||||||
|
, ninja
|
||||||
, bash
|
, bash
|
||||||
, python3
|
, python3
|
||||||
, perl
|
, perl
|
||||||
@@ -48,6 +49,7 @@ in stdenv.mkDerivation {
|
|||||||
inherit (source) src version;
|
inherit (source) src version;
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
CC = "clang";
|
CC = "clang";
|
||||||
@@ -62,6 +64,7 @@ in stdenv.mkDerivation {
|
|||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
bash
|
bash
|
||||||
cmake
|
cmake
|
||||||
|
ninja
|
||||||
elfutils
|
elfutils
|
||||||
llvmPackages_latest.lld
|
llvmPackages_latest.lld
|
||||||
pkg-config
|
pkg-config
|
||||||
|
|||||||
@@ -39,7 +39,9 @@ stdenv.mkDerivation rec {
|
|||||||
perl
|
perl
|
||||||
pkg-config
|
pkg-config
|
||||||
python3
|
python3
|
||||||
] ++ lib.optionals enableNosv [
|
];
|
||||||
|
|
||||||
|
buildInputs = lib.optionals enableNosv [
|
||||||
nosv
|
nosv
|
||||||
] ++ lib.optionals enableOvni [
|
] ++ lib.optionals enableOvni [
|
||||||
ovni
|
ovni
|
||||||
@@ -54,6 +56,7 @@ stdenv.mkDerivation rec {
|
|||||||
dontStrip = enableDebug;
|
dontStrip = enableDebug;
|
||||||
|
|
||||||
separateDebugInfo = true;
|
separateDebugInfo = true;
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
cmakeFlags = [
|
cmakeFlags = [
|
||||||
"-DLIBOMP_OMPD_SUPPORT=OFF"
|
"-DLIBOMP_OMPD_SUPPORT=OFF"
|
||||||
@@ -71,6 +74,28 @@ stdenv.mkDerivation rec {
|
|||||||
rm -f $out/libllvmrt/libomp.*
|
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 = {
|
passthru = {
|
||||||
inherit nosv;
|
inherit nosv;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ stdenv.mkDerivation rec {
|
|||||||
hardeningDisable = [ "all" ];
|
hardeningDisable = [ "all" ];
|
||||||
|
|
||||||
enableParallelBuilding = false;
|
enableParallelBuilding = false;
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
preBuild = ''
|
preBuild = ''
|
||||||
makeFlagsArray+=(
|
makeFlagsArray+=(
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ python3Packages.buildPythonApplication {
|
|||||||
src = ./.;
|
src = ./.;
|
||||||
|
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
build-system = with python3Packages; [
|
build-system = with python3Packages; [
|
||||||
setuptools
|
setuptools
|
||||||
|
|||||||
@@ -53,6 +53,7 @@ in mpich.overrideAttrs (old: {
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
hardeningDisable = [ "all" ];
|
hardeningDisable = [ "all" ];
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
meta = old.meta // {
|
meta = old.meta // {
|
||||||
maintainers = old.meta.maintainers ++ (with lib.maintainers.bsc; [ rarias ]);
|
maintainers = old.meta.maintainers ++ (with lib.maintainers.bsc; [ rarias ]);
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
, jemallocNanos6 ? null
|
, jemallocNanos6 ? null
|
||||||
, cachelineBytes ? 64
|
, cachelineBytes ? 64
|
||||||
, enableGlibcxxDebug ? false
|
, enableGlibcxxDebug ? false
|
||||||
, enablePapi ? stdenv.hostPlatform == stdenv.buildPlatform # Disabled when cross-compiling
|
, enablePapi ? true
|
||||||
, useGit ? false
|
, useGit ? false
|
||||||
, gitUrl ? "ssh://git@bscpm04.bsc.es/nanos6/nanos6"
|
, gitUrl ? "ssh://git@bscpm04.bsc.es/nanos6/nanos6"
|
||||||
, gitBranch ? "master"
|
, gitBranch ? "master"
|
||||||
@@ -80,7 +80,8 @@ in
|
|||||||
(optional enableGlibcxxDebug "CXXFLAGS=-D_GLIBCXX_DEBUG") ++
|
(optional enableGlibcxxDebug "CXXFLAGS=-D_GLIBCXX_DEBUG") ++
|
||||||
# Most nanos6 api symbols are resolved at runtime, so prefer
|
# Most nanos6 api symbols are resolved at runtime, so prefer
|
||||||
# ifunc by default
|
# ifunc by default
|
||||||
(optional isCross "--with-symbol-resolution=ifunc");
|
(optional isCross "--with-symbol-resolution=ifunc") ++
|
||||||
|
(optional enablePapi "--with-papi=${papi}");
|
||||||
|
|
||||||
postConfigure = lib.optionalString (!enableDebug) ''
|
postConfigure = lib.optionalString (!enableDebug) ''
|
||||||
# Disable debug
|
# Disable debug
|
||||||
@@ -95,16 +96,14 @@ in
|
|||||||
dontStrip = enableDebug;
|
dontStrip = enableDebug;
|
||||||
separateDebugInfo = true;
|
separateDebugInfo = true;
|
||||||
|
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
autoconf
|
autoconf
|
||||||
automake
|
automake
|
||||||
libtool
|
libtool
|
||||||
pkg-config
|
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 = [
|
buildInputs = [
|
||||||
boost
|
boost
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
with builtins;
|
with builtins;
|
||||||
{
|
{
|
||||||
bwrap,
|
|
||||||
nix,
|
nix,
|
||||||
proot,
|
|
||||||
unzip,
|
unzip,
|
||||||
zip,
|
zip,
|
||||||
unixtools,
|
unixtools,
|
||||||
@@ -17,23 +15,25 @@ with builtins;
|
|||||||
"bashInteractive"
|
"bashInteractive"
|
||||||
],
|
],
|
||||||
|
|
||||||
busybox,
|
|
||||||
cacert ? pkgs.cacert,
|
cacert ? pkgs.cacert,
|
||||||
compression ? "zstd -19 -T0",
|
compression ? "zstd -19 -T0",
|
||||||
gnutar ? pkgs.pkgsStatic.gnutar,
|
|
||||||
lib ? pkgs.lib,
|
lib ? pkgs.lib,
|
||||||
perl ? pkgs.perl,
|
|
||||||
pkgs ? import <nixpkgs> {},
|
pkgs ? import <nixpkgs> {},
|
||||||
xz ? pkgs.pkgsStatic.xz,
|
|
||||||
zstd ? pkgs.pkgsStatic.zstd,
|
|
||||||
nixStatic,
|
|
||||||
# hardcode executable to run. Useful when creating a bundle.
|
# hardcode executable to run. Useful when creating a bundle.
|
||||||
bundledPackage ? null,
|
bundledPackage ? null,
|
||||||
...
|
|
||||||
|
nixStatic,
|
||||||
|
busyboxStatic ? pkgs.pkgsStatic.busybox,
|
||||||
|
bwrapStatic ? pkgs.pkgsStatic.bubblewrap,
|
||||||
|
zstdStatic ? pkgs.pkgsStatic.zstd,
|
||||||
|
|
||||||
|
perlBuildBuild ? pkgs.pkgsBuildBuild.perl,
|
||||||
}@inp:
|
}@inp:
|
||||||
with lib;
|
with lib;
|
||||||
let
|
let
|
||||||
|
|
||||||
|
perl = perlBuildBuild;
|
||||||
|
|
||||||
pname =
|
pname =
|
||||||
if bundledPackage == null
|
if bundledPackage == null
|
||||||
then "nix-portable"
|
then "nix-portable"
|
||||||
@@ -100,19 +100,18 @@ let
|
|||||||
export PATH="${out}/bin:\$PATH"
|
export PATH="${out}/bin:\$PATH"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
caBundleZstd = pkgs.runCommand "cacerts" {} "cat ${cacert}/etc/ssl/certs/ca-bundle.crt | ${inp.zstd}/bin/zstd -19 > $out";
|
caBundleZstd = pkgs.runCommand "cacerts" {} "cat ${cacert}/etc/ssl/certs/ca-bundle.crt | ${zstd}/bin/zstd -19 > $out";
|
||||||
|
|
||||||
bwrap = packStaticBin "${inp.bwrap}/bin/bwrap";
|
bwrap = packStaticBin "${bwrapStatic}/bin/bwrap";
|
||||||
nixStatic = packStaticBin "${inp.nixStatic}/bin/nix";
|
nixStatic = packStaticBin "${inp.nixStatic}/bin/nix";
|
||||||
proot = packStaticBin "${inp.proot}/bin/proot";
|
zstd = packStaticBin "${zstdStatic}/bin/zstd";
|
||||||
zstd = packStaticBin "${inp.zstd}/bin/zstd";
|
|
||||||
|
|
||||||
# the default nix store contents to extract when first used
|
# the default nix store contents to extract when first used
|
||||||
storeTar = maketar ([ cacert nix nixpkgsSrc ] ++ lib.optional (bundledPackage != null) bundledPackage);
|
storeTar = maketar ([ cacert nix nixpkgsSrc ] ++ lib.optional (bundledPackage != null) bundledPackage);
|
||||||
|
|
||||||
|
|
||||||
# The runtime script which unpacks the necessary files to $HOME/.nix-portable
|
# The runtime script which unpacks the necessary files to $HOME/.nix-portable
|
||||||
# and then executes nix via proot or bwrap
|
# and then executes nix via bwrap
|
||||||
# Some shell expressions will be evaluated at build time and some at run time.
|
# Some shell expressions will be evaluated at build time and some at run time.
|
||||||
# Variables/expressions escaped via `\$` will be evaluated at run time
|
# Variables/expressions escaped via `\$` will be evaluated at run time
|
||||||
runtimeScript = ''
|
runtimeScript = ''
|
||||||
@@ -127,17 +126,6 @@ let
|
|||||||
trap "declare -p > \''${TMPDIR:-/tmp}/np_env" EXIT
|
trap "declare -p > \''${TMPDIR:-/tmp}/np_env" EXIT
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# there seem to be less issues with proot when disabling seccomp
|
|
||||||
# though on android it is needed
|
|
||||||
if [ -n "\$TERMUX_VERSION" ]; then
|
|
||||||
unset LD_PRELOAD
|
|
||||||
NP_RUNTIME=\''${NP_RUNTIME:-proot}
|
|
||||||
export PROOT_TMP_DIR="\$TMPDIR/proot"
|
|
||||||
mkdir -p "\$PROOT_TMP_DIR"
|
|
||||||
else
|
|
||||||
export PROOT_NO_SECCOMP=\''${PROOT_NO_SECCOMP:-1}
|
|
||||||
fi
|
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
if [ -n "\$NP_DEBUG" ] && [ "\$NP_DEBUG" -ge 2 ]; then
|
if [ -n "\$NP_DEBUG" ] && [ "\$NP_DEBUG" -ge 2 ]; then
|
||||||
set -x
|
set -x
|
||||||
@@ -242,9 +230,9 @@ let
|
|||||||
# install busybox
|
# install busybox
|
||||||
mkdir -p \$dir/busybox/bin
|
mkdir -p \$dir/busybox/bin
|
||||||
(base64 -d> "\$dir/busybox/bin/busybox" && chmod +x "\$dir/busybox/bin/busybox") << END
|
(base64 -d> "\$dir/busybox/bin/busybox" && chmod +x "\$dir/busybox/bin/busybox") << END
|
||||||
$(cat ${busybox}/bin/busybox | base64)
|
$(cat ${busyboxStatic}/bin/busybox | base64)
|
||||||
END
|
END
|
||||||
busyBins="${toString (attrNames (filterAttrs (d: type: type == "symlink") (readDir "${inp.busybox}/bin")))}"
|
busyBins="${toString (attrNames (filterAttrs (d: type: type == "symlink") (readDir "${busyboxStatic}/bin")))}"
|
||||||
for bin in \$busyBins; do
|
for bin in \$busyBins; do
|
||||||
[ ! -e "\$dir/busybox/bin/\$bin" ] && ln -s busybox "\$dir/busybox/bin/\$bin"
|
[ ! -e "\$dir/busybox/bin/\$bin" ] && ln -s busybox "\$dir/busybox/bin/\$bin"
|
||||||
done
|
done
|
||||||
@@ -254,7 +242,6 @@ let
|
|||||||
|
|
||||||
# install other binaries
|
# install other binaries
|
||||||
${installBin zstd "zstd"}
|
${installBin zstd "zstd"}
|
||||||
${installBin proot "proot"}
|
|
||||||
${installBin bwrap "bwrap"}
|
${installBin bwrap "bwrap"}
|
||||||
${installBin nixStatic "nix"}
|
${installBin nixStatic "nix"}
|
||||||
|
|
||||||
@@ -268,6 +255,9 @@ let
|
|||||||
export SHELL="${pkgs.bashInteractive.out}/bin/bash"
|
export SHELL="${pkgs.bashInteractive.out}/bin/bash"
|
||||||
export PS1="\n\[\033[1;32m\][\[\e]0;\u@\h: \w\a\]\u@\h:\w]\$\[\033[0m\] "
|
export PS1="\n\[\033[1;32m\][\[\e]0;\u@\h: \w\a\]\u@\h:\w]\$\[\033[0m\] "
|
||||||
|
|
||||||
|
# unset bash function aliases
|
||||||
|
unset -f which ml module
|
||||||
|
|
||||||
### setup SSL
|
### setup SSL
|
||||||
# find ssl certs or use from nixpkgs
|
# find ssl certs or use from nixpkgs
|
||||||
debug "figuring out ssl certs"
|
debug "figuring out ssl certs"
|
||||||
@@ -342,7 +332,6 @@ let
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
toBind="\$toBind \$dir/busybox/bin /bin"
|
|
||||||
# provide /bin/sh via the shipped busybox
|
# provide /bin/sh via the shipped busybox
|
||||||
toBind="\$toBind \$dir/busybox/bin/busybox /bin/sh"
|
toBind="\$toBind \$dir/busybox/bin/busybox /bin/sh"
|
||||||
toBind="\$toBind \$dir/busybox/bin/busybox /usr/bin/env"
|
toBind="\$toBind \$dir/busybox/bin/busybox /usr/bin/env"
|
||||||
@@ -388,9 +377,6 @@ let
|
|||||||
debug "bwrap executable: \$NP_BWRAP"
|
debug "bwrap executable: \$NP_BWRAP"
|
||||||
[ -z "\$NP_NIX" ] && NP_NIX=\$dir/bin/nix
|
[ -z "\$NP_NIX" ] && NP_NIX=\$dir/bin/nix
|
||||||
debug "nix executable: \$NP_NIX"
|
debug "nix executable: \$NP_NIX"
|
||||||
[ -z "\$NP_PROOT" ] && NP_PROOT=\$(PATH="\$PATH_OLD:\$PATH" which proot 2>/dev/null) || true
|
|
||||||
[ -z "\$NP_PROOT" ] && NP_PROOT=\$dir/bin/proot
|
|
||||||
debug "proot executable: \$NP_PROOT"
|
|
||||||
debug "testing all available runtimes..."
|
debug "testing all available runtimes..."
|
||||||
if [ -z "\$NP_RUNTIME" ]; then
|
if [ -z "\$NP_RUNTIME" ]; then
|
||||||
# read last automatic selected runtime from disk
|
# read last automatic selected runtime from disk
|
||||||
@@ -448,14 +434,8 @@ let
|
|||||||
# --bind \$dir/busybox/bin/busybox /bin/sh\\
|
# --bind \$dir/busybox/bin/busybox /bin/sh\\
|
||||||
else
|
else
|
||||||
# proot
|
# proot
|
||||||
collectBinds
|
echo Unsupported runtime: $NP_RUNTIME
|
||||||
makeBindArgs -b ":" \$toBind \$sslBind
|
exit 1
|
||||||
run="\$NP_PROOT \$PROOT_ARGS\\
|
|
||||||
-r \$dir/emptyroot\\
|
|
||||||
-b /dev:/dev\\
|
|
||||||
-b \$dir/nix:/nix\\
|
|
||||||
\$binds"
|
|
||||||
# -b \$dir/busybox/bin/busybox:/bin/sh\\
|
|
||||||
fi
|
fi
|
||||||
debug "base command will be: \$run"
|
debug "base command will be: \$run"
|
||||||
|
|
||||||
@@ -577,8 +557,8 @@ let
|
|||||||
|
|
||||||
|
|
||||||
### set PATH
|
### set PATH
|
||||||
# restore original PATH and append busybox
|
export PATH="\$dir/busybox/bin"
|
||||||
export PATH="\$PATH_OLD:\$dir/busybox/bin"
|
export PATH="\$PATH:\$store${lib.removePrefix "/nix/store" nix}/bin"
|
||||||
|
|
||||||
### install programs via nix
|
### install programs via nix
|
||||||
${concatMapStringsSep "\n" installDynamic bootstrapPrograms}
|
${concatMapStringsSep "\n" installDynamic bootstrapPrograms}
|
||||||
@@ -642,7 +622,6 @@ let
|
|||||||
zip="${zip}/bin/zip -0"
|
zip="${zip}/bin/zip -0"
|
||||||
$zip $out/bin/nix-portable.zip ${bwrap}/bin/bwrap
|
$zip $out/bin/nix-portable.zip ${bwrap}/bin/bwrap
|
||||||
$zip $out/bin/nix-portable.zip ${nixStatic}/bin/nix
|
$zip $out/bin/nix-portable.zip ${nixStatic}/bin/nix
|
||||||
$zip $out/bin/nix-portable.zip ${proot}/bin/proot
|
|
||||||
$zip $out/bin/nix-portable.zip ${zstd}/bin/zstd
|
$zip $out/bin/nix-portable.zip ${zstd}/bin/zstd
|
||||||
$zip $out/bin/nix-portable.zip ${storeTar}/tar
|
$zip $out/bin/nix-portable.zip ${storeTar}/tar
|
||||||
$zip $out/bin/nix-portable.zip ${caBundleZstd}
|
$zip $out/bin/nix-portable.zip ${caBundleZstd}
|
||||||
@@ -666,6 +645,6 @@ let
|
|||||||
in
|
in
|
||||||
nixPortable.overrideAttrs (prev: {
|
nixPortable.overrideAttrs (prev: {
|
||||||
passthru = (prev.passthru or {}) // {
|
passthru = (prev.passthru or {}) // {
|
||||||
inherit bwrap proot;
|
inherit bwrap;
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ stdenv.mkDerivation {
|
|||||||
version = "0.0.1";
|
version = "0.0.1";
|
||||||
src = ./nixgen;
|
src = ./nixgen;
|
||||||
dontUnpack = true;
|
dontUnpack = true;
|
||||||
|
strictDeps = true;
|
||||||
phases = [ "installPhase" ];
|
phases = [ "installPhase" ];
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/bin
|
mkdir -p $out/bin
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ stdenv.mkDerivation rec {
|
|||||||
makeFlags = [ "DESTDIR=$(out)" ];
|
makeFlags = [ "DESTDIR=$(out)" ];
|
||||||
preBuild = "env";
|
preBuild = "env";
|
||||||
dontPatchShebangs = true;
|
dontPatchShebangs = true;
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = "https://gitlab.pm.bsc.es/rarias/nixtools";
|
homepage = "https://gitlab.pm.bsc.es/rarias/nixtools";
|
||||||
|
|||||||
@@ -48,6 +48,7 @@ in
|
|||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
dontStrip = true;
|
dontStrip = true;
|
||||||
separateDebugInfo = true;
|
separateDebugInfo = true;
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
configureFlags = [
|
configureFlags = [
|
||||||
"--with-nosv=${nosv}"
|
"--with-nosv=${nosv}"
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -40,16 +40,17 @@ let
|
|||||||
|
|
||||||
source = if (useGit) then git else release;
|
source = if (useGit) then git else release;
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation {
|
||||||
pname = "nosv";
|
pname = "nosv";
|
||||||
inherit (source) src version;
|
inherit (source) src version;
|
||||||
hardeningDisable = [ "all" ];
|
hardeningDisable = [ "all" ];
|
||||||
dontStrip = true;
|
dontStrip = true;
|
||||||
separateDebugInfo = true;
|
separateDebugInfo = true;
|
||||||
|
strictDeps = true;
|
||||||
configureFlags = [
|
configureFlags = [
|
||||||
"--with-ovni=${ovni}"
|
"--with-ovni=${ovni}"
|
||||||
"CACHELINE_WIDTH=${toString cacheline}"
|
"CACHELINE_WIDTH=${toString cacheline}"
|
||||||
];
|
] ++ lib.optionals enablePapi [ "--with-papi=${papi}" ];
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
autoreconfHook
|
autoreconfHook
|
||||||
pkg-config
|
pkg-config
|
||||||
@@ -59,6 +60,7 @@ in
|
|||||||
hwloc
|
hwloc
|
||||||
ovni
|
ovni
|
||||||
] ++ lib.optionals enablePapi [ papi ];
|
] ++ lib.optionals enablePapi [ papi ];
|
||||||
|
patches = [ ./fix-papi.patch ];
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = "https://gitlab.bsc.es/nos-v/nos-v";
|
homepage = "https://gitlab.bsc.es/nos-v/nos-v";
|
||||||
|
|||||||
136
pkgs/nosv/fix-papi.patch
Normal file
136
pkgs/nosv/fix-papi.patch
Normal file
@@ -0,0 +1,136 @@
|
|||||||
|
Commit ID: c09633f172ce4075e0a05a33f6dcbe8e03e1202a
|
||||||
|
Change ID: onmwypnnrysktutwsvotqovzponvwrxs
|
||||||
|
Bookmarks: fix/papi fix/papi@git fix/papi@origin
|
||||||
|
Author : Aleix Boné <aleix.boneribo@bsc.es> (2025-12-10 11:14:14)
|
||||||
|
Committer: Aleix Boné <aleix.boneribo@bsc.es> (2025-12-12 12:56:48)
|
||||||
|
|
||||||
|
Improve PAPI m4 module for cross compilation
|
||||||
|
|
||||||
|
diff --git a/m4/papi.m4 b/m4/papi.m4
|
||||||
|
index de90584870..8398f856f5 100644
|
||||||
|
--- a/m4/papi.m4
|
||||||
|
+++ b/m4/papi.m4
|
||||||
|
@@ -1,6 +1,6 @@
|
||||||
|
# This file is part of Nanos6 and is licensed under the terms contained in the COPYING file.
|
||||||
|
#
|
||||||
|
-# Copyright (C) 2021-2022 Barcelona Supercomputing Center (BSC)
|
||||||
|
+# Copyright (C) 2021-2025 Barcelona Supercomputing Center (BSC)
|
||||||
|
|
||||||
|
AC_DEFUN([AC_CHECK_PAPI],
|
||||||
|
[
|
||||||
|
@@ -8,34 +8,38 @@
|
||||||
|
[papi],
|
||||||
|
[AS_HELP_STRING([--with-papi=prefix], [specify the installation prefix of PAPI])],
|
||||||
|
[ ac_cv_use_papi_prefix=$withval ],
|
||||||
|
- [ ac_cv_use_papi_prefix="" ]
|
||||||
|
+ [ ac_cv_use_papi_prefix="check" ]
|
||||||
|
)
|
||||||
|
|
||||||
|
if test x"${ac_cv_use_papi_prefix}" = x"no"; then
|
||||||
|
AC_MSG_CHECKING([the PAPI installation prefix])
|
||||||
|
AC_MSG_RESULT([${ac_cv_use_papi_prefix}])
|
||||||
|
ac_use_papi=no
|
||||||
|
- elif test x"${ac_cv_use_papi_prefix}" != x"" ; then
|
||||||
|
- AC_MSG_CHECKING([the PAPI installation prefix])
|
||||||
|
- AC_MSG_RESULT([${ac_cv_use_papi_prefix}])
|
||||||
|
- papi_LIBS="-L${ac_cv_use_papi_prefix}/lib -lpapi -Wl,-rpath,${ac_cv_use_papi_prefix}/lib"
|
||||||
|
- papi_CFLAGS="-I$ac_cv_use_papi_prefix/include"
|
||||||
|
- ac_use_papi=yes
|
||||||
|
- else
|
||||||
|
+ elif test x"${ac_cv_use_papi_prefix}" = x""; then
|
||||||
|
+ AC_MSG_RESULT([invalid prefix])
|
||||||
|
+ AC_MSG_ERROR([papi prefix specified but empty])
|
||||||
|
+ elif test x"${ac_cv_use_papi_prefix}" = x"yes" -o x"${ac_cv_use_papi_prefix}" = x"check"; then
|
||||||
|
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])
|
||||||
|
ac_use_papi=no
|
||||||
|
]
|
||||||
|
)
|
||||||
|
+ else
|
||||||
|
+ AC_MSG_CHECKING([the PAPI installation prefix])
|
||||||
|
+ AC_MSG_RESULT([${ac_cv_use_papi_prefix}])
|
||||||
|
+ papi_LIBS="-L${ac_cv_use_papi_prefix}/lib -lpapi -Wl,-rpath,${ac_cv_use_papi_prefix}/lib"
|
||||||
|
+ papi_CFLAGS="-I$ac_cv_use_papi_prefix/include"
|
||||||
|
+ ac_use_papi=yes
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test x"${ac_use_papi}" = x"yes" ; then
|
||||||
|
@@ -53,10 +57,10 @@
|
||||||
|
ac_use_papi=yes
|
||||||
|
],
|
||||||
|
[
|
||||||
|
- if test x"${ac_cv_use_papi_prefix}" != x"" ; then
|
||||||
|
- AC_MSG_ERROR([PAPI cannot be found.])
|
||||||
|
+ if test x"${ac_cv_use_papi_prefix}" = x"yes" ; then
|
||||||
|
+ AC_MSG_ERROR([PAPI >= 5.6.0 cannot be found.])
|
||||||
|
else
|
||||||
|
- AC_MSG_WARN([PAPI cannot be found.])
|
||||||
|
+ AC_MSG_WARN([PAPI >= 5.6.0 not available.])
|
||||||
|
fi
|
||||||
|
ac_use_papi=no
|
||||||
|
]
|
||||||
|
@@ -64,30 +68,38 @@
|
||||||
|
|
||||||
|
CFLAGS="${ac_save_CFLAGS}"
|
||||||
|
LIBS="${ac_save_LIBS}"
|
||||||
|
+ elif test x"${ac_cv_use_papi_prefix}" = x"yes" ; then
|
||||||
|
+ AC_MSG_ERROR([PAPI >= 5.6.0 cannot be found.])
|
||||||
|
fi
|
||||||
|
|
||||||
|
- if test x"${ac_use_papi}" = x"yes" ; then
|
||||||
|
- if test x"${ac_cv_use_papi_prefix}" != x"" ; then
|
||||||
|
+ if test x"${ac_use_papi}" = x"yes" -a x"${ac_papi_version_correct}" != x"yes" ; then
|
||||||
|
+ if test x"${ac_cv_use_papi_prefix}" != x"yes" -a x"${ac_cv_use_papi_prefix}" != x"check" ; 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]]
|
||||||
|
- )
|
||||||
|
|
||||||
|
- if test x"${ac_papi_version_correct}" != x"yes" ; then
|
||||||
|
- AC_MSG_ERROR([PAPI version must be >= 5.6.0.])
|
||||||
|
- ac_use_papi=no
|
||||||
|
+ if test x"$cross_compiling" = x"yes" ; then
|
||||||
|
+ AC_MSG_WARN([Cross-compiling detected, skipping PAPI version check])
|
||||||
|
else
|
||||||
|
- AC_MSG_CHECKING([if the PAPI version >= 5.6.0.])
|
||||||
|
- AC_MSG_RESULT([${ac_papi_version_correct}])
|
||||||
|
+ 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]]
|
||||||
|
+ )
|
||||||
|
+
|
||||||
|
+ 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
|
||||||
|
|
||||||
@@ -24,6 +24,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
doCheck = true;
|
doCheck = true;
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
strictDeps = true;
|
||||||
nativeBuildInputs = [ mpiAll ];
|
nativeBuildInputs = [ mpiAll ];
|
||||||
buildInputs = [ mpiAll ];
|
buildInputs = [ mpiAll ];
|
||||||
hardeningDisable = [ "all" ];
|
hardeningDisable = [ "all" ];
|
||||||
|
|||||||
@@ -40,6 +40,7 @@ in
|
|||||||
inherit (source) src version;
|
inherit (source) src version;
|
||||||
dontStrip = true;
|
dontStrip = true;
|
||||||
separateDebugInfo = true;
|
separateDebugInfo = true;
|
||||||
|
strictDeps = true;
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
patchShebangs --build test/
|
patchShebangs --build test/
|
||||||
'';
|
'';
|
||||||
|
|||||||
29
pkgs/papi/default.nix
Normal file
29
pkgs/papi/default.nix
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
{
|
||||||
|
stdenv,
|
||||||
|
papi,
|
||||||
|
}:
|
||||||
|
|
||||||
|
if stdenv.hostPlatform == stdenv.buildPlatform then
|
||||||
|
papi
|
||||||
|
else
|
||||||
|
papi.overrideAttrs (old: {
|
||||||
|
configureFlags = (old.configureFlags or [ ]) ++ [
|
||||||
|
# Only perf-events works when cross compiling, since for the rest, papi's
|
||||||
|
# configure.in uses `test -f` which is not allowed when cross-compiling.
|
||||||
|
# FIXME: patch configure.in to skip the faulty checks when cross-compiling
|
||||||
|
"--disable-perf-event-uncore"
|
||||||
|
"--with-sysdetect=no"
|
||||||
|
|
||||||
|
# Flags below are adapted from "cross compile sample" in papi's
|
||||||
|
# src/configure.in. (--host is already set by nix). Verified to
|
||||||
|
# cross-compile in both riscv64 and aarch64-multiplatform targets.
|
||||||
|
"--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 ];
|
||||||
|
})
|
||||||
19
pkgs/papi/fix-ar-cross.patch
Normal file
19
pkgs/papi/fix-ar-cross.patch
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
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:
|
||||||
@@ -47,6 +47,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
dontStrip = true;
|
dontStrip = true;
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
export CFLAGS="-O3"
|
export CFLAGS="-O3"
|
||||||
|
|||||||
@@ -34,6 +34,7 @@ stdenv.mkDerivation rec {
|
|||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
dontStrip = true;
|
dontStrip = true;
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
export CFLAGS="-O3 -DPARALLEL_ENABLED"
|
export CFLAGS="-O3 -DPARALLEL_ENABLED"
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ buildGoModule rec {
|
|||||||
|
|
||||||
vendorHash = "sha256-A1dd9T9SIEHDCiVT2UwV6T02BSLh9ej6LC/2l54hgwI=";
|
vendorHash = "sha256-A1dd9T9SIEHDCiVT2UwV6T02BSLh9ej6LC/2l54hgwI=";
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Prometheus SLURM Exporter";
|
description = "Prometheus SLURM Exporter";
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ stdenv.mkDerivation rec {
|
|||||||
};
|
};
|
||||||
hardeningDisable = [ "all" ];
|
hardeningDisable = [ "all" ];
|
||||||
dontStrip = true;
|
dontStrip = true;
|
||||||
|
strictDeps = true;
|
||||||
configureFlags = [ "--with-ovni=${ovni}" ];
|
configureFlags = [ "--with-ovni=${ovni}" ];
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ stdenv.mkDerivation rec {
|
|||||||
pname = "tagaspi";
|
pname = "tagaspi";
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
separateDebugInfo = true;
|
separateDebugInfo = true;
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
version = "2.0";
|
version = "2.0";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
|
|||||||
@@ -45,6 +45,7 @@ in stdenv.mkDerivation {
|
|||||||
inherit (source) src version;
|
inherit (source) src version;
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
separateDebugInfo = true;
|
separateDebugInfo = true;
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
autoconf
|
autoconf
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ python3Packages.buildPythonApplication {
|
|||||||
src = ./.;
|
src = ./.;
|
||||||
|
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
build-system = with python3Packages; [
|
build-system = with python3Packages; [
|
||||||
setuptools
|
setuptools
|
||||||
|
|||||||
@@ -1,25 +1,29 @@
|
|||||||
age-encryption.org/v1
|
age-encryption.org/v1
|
||||||
-> ssh-ed25519 AY8zKw /gmhFOFqOs8IobAImvQVKeM5Y6k0FpuR61/Cu5drVVI
|
-> ssh-ed25519 AY8zKw Crgof1PMHzv3jBw8VeJAst6FKSoyqPFdANFpf79CAgo
|
||||||
g9FXJg2oIoien0zJ70FWHwSTM8SBwbpS188S3Swj7EM
|
7fagE5BmlWdTsdY/i3RbExu1KBcjW1LQXbYwu6chxlk
|
||||||
-> ssh-ed25519 sgAamA opPjlWPhSiI0Rd5l7kd204S5FXFLcQcQftyKb7MDmnU
|
-> ssh-ed25519 sgAamA tGRCaK8mjvz65YziXjRcjMOHIRoyGNJFzBEEbivXPDo
|
||||||
3XrRDVnglCP+vBwvfd1rP5gHttsGDHyXwbf10a8/kKY
|
YLzE5a3J81r+gzkfZIeh9gS+mXzMooC82tBbZ+C3C8o
|
||||||
-> ssh-ed25519 HY2yRg QKZbubM76C3tobPoyCFDRclA9Pzb2fC7s4WOoIgdORc
|
-> ssh-ed25519 HY2yRg +vhO1/vdGPM1JnZRsvVnViFWaFWUZ7MIqvWdePivkxA
|
||||||
K5kckU0KhQFTE6SikJXFJgM41Tco5+VqOsaG0qLrY1Q
|
2K+JdN82DTeGh9QwZBTaghg8C5BCLoEsOgTCM64PU28
|
||||||
-> ssh-ed25519 fw2Xhg +ohqts8dLFjvdHxrGHcOGxU0dm+V3N//giljHkobpDM
|
-> ssh-ed25519 fw2Xhg NHDn0dq32I/AVdUZlpzBX6retlEYEUipde7A9R90qW4
|
||||||
jR/UzGrfS9lrJ/VeolKLxfzeJAf2fIB2pdIn/6ukqNk
|
SJO78ooqEwfHlBRW+YCzgSQJb1JHNo8jz37t3qvLClE
|
||||||
-> ssh-ed25519 tcumPQ 3DPkDPIQQSVtXSLzIRETsIyXQ0k1o18Evn6vf+l/6R8
|
-> ssh-ed25519 G5LX5w d4HfLzI2623artkR2FIfRJgr5yb2BKZJUWqPnwOWDCk
|
||||||
bLXF62OmJjnOT1vvgq3+AcOKKSG5NonrK5EqCVc0Mwo
|
Kh50QESJZSjaJPyp3xroHGn0fD5pPNEYgKkDdqxGpjs
|
||||||
-> ssh-ed25519 JJ1LWg 2Wefc7eLolMU5InEmCNTq21Mf71mI0a2N1HgDrlHvy4
|
-> ssh-ed25519 tcumPQ wQyOKtT15Qezs3cyv5/xxIPVD7Jyk6N6ZLkfxxBHLTo
|
||||||
qXFW9CQBnrzubZ0mzS0Io2WGRrwGBkmeYndBTcZn/fM
|
rKlRBjJdfDVT6U8211+ssFF8yY9yRs1u3GhCSvsw2oE
|
||||||
-> ssh-ed25519 cDBabA oiH36AoIt/fFFYgnoxtH7OoetP+2/wjtn8qo3RJDSHc
|
-> ssh-ed25519 JJ1LWg 98tF1MdA244xNny4w3RnMFuubf4WcuQaZf2bN2Uq8Qc
|
||||||
qKmkxy1aZGP4ZwC0iH7n7hiJ0+rFQYvjQb5O1a1Z0r4
|
MA1Xh1H9vHisVYdqkxNeBkngtn8cYuT2eSimvooIXYo
|
||||||
-> ssh-ed25519 cK5kHw bX3RtO5StMejUYWAaA37fjHA5nO7Xs1vWDQk3yOjs2o
|
-> ssh-ed25519 cDBabA imJ0rXLQETELP7yo3sArhqA9nJwY+S6gkC7tA7CJsQA
|
||||||
Egxmcf8FKAd+E5hMLmhV1yQsCo5rJyUazf1szOvpTAM
|
pKMHW/KDAoEj5ZD64VKekg6et9hlS2PKSgDw3eB3eu8
|
||||||
-> ssh-ed25519 CAWG4Q oKqqRDJH0w8lsoQBQk0w8PO+z5gFNmSaGBUSumvDp1I
|
-> ssh-ed25519 WY7yGw +2g5021/02HvLxLqq42ynr6qKgOKJ3J5GgB1a1bmFXg
|
||||||
m1zWp9MfViAmtpbJhqOHraIokDaPKb0DvvO4vAGCTWI
|
fYvj52R6bM6ngPOZ2lwVezTJnx+8LJBbdnaapKKbyd0
|
||||||
-> ssh-ed25519 xA739A G26kPOz6sbFATs+KAr7gbDvji13eA1smFusQAOJXMwA
|
-> ssh-ed25519 cK5kHw fLZ6yF3NggJ724rjYqhs5ZZh1xUExuK+ITAyqONluzk
|
||||||
Sppvz7A103kZoNxoGsd6eXeCvVh7mBE2MRwLFj9O1dY
|
NS9OMX70XEHrbPQnmC4KB/eoiHChIb8DwDLYJiwOLUU
|
||||||
-> ssh-ed25519 MSF3dg 55ekNcp+inbUd+GQ/VZ7BoBASaJ8YDqF74CVXy1PUxQ
|
-> ssh-ed25519 CAWG4Q tVduE/wMzdfS+DjNbU3Q4blNhL/A63IehNSZGJkJjD0
|
||||||
aTHLLAbzQPWWld/OT3BKebc6FcmsqMTaWCPBGm1UHic
|
jEBB5zG+gLA/88YF+KqWQsNH7lfCsWNvAkrgfbescFs
|
||||||
--- mVkAMnI9XQhS3fMiFuuXP/yLR9wEG9+Rr8pA4Uc0avY
|
-> ssh-ed25519 xA739A ZhFvev77I+YOl1YSHKn2ZcEvGoLjWOILufjd4q/k8HM
|
||||||
<04>DU <20><>s<EFBFBD><73><EFBFBD><EFBFBD>j<EFBFBD><6A>M<EFBFBD><4D>$<24>[<5B>M<EFBFBD><4D><EFBFBD><03>[_<>K7s<37>ju<>v<EFBFBD>D<EFBFBD>4<EFBFBD>g<EFBFBD><67>܄3<>Gn<47><6E><EFBFBD> ɽ<>P<EFBFBD>7~rZs<><73>
|
YXEtHHtjPQlgZW60zHgHm7CLI6vYiRo+AM8QERL9tCg
|
||||||
|
-> ssh-ed25519 MSF3dg 9DvLNheBU1vlfW2zNNxBrGnJ6k4P5ox7s+OGKlgRdyQ
|
||||||
|
wseHfLGHz0huNi5sZsNOfeNkm6Kjjx0SZ8lK4/oXtUQ
|
||||||
|
--- bnJE+14onuSla0XmckD4z/wChWGZh6exbkcbyhcmNYU
|
||||||
|
<EFBFBD><EFBFBD>t<>N猈<><10>U<EFBFBD>w▮i2<69><32>-<2D>iV'(<1E>IF<49><46> S<><53>xs/s<><73> <09><>NDm<44>Q<EFBFBD><51><EFBFBD>o<EFBFBD><6F><EFBFBD><EFBFBD>wZv<7F><76>.\
|
||||||
Binary file not shown.
Binary file not shown.
@@ -1,13 +1,13 @@
|
|||||||
age-encryption.org/v1
|
age-encryption.org/v1
|
||||||
-> ssh-ed25519 HY2yRg U2KQWviZIVNemm9e8h7H+eOzoYNxXgLLS3hsZLMAuGk
|
-> ssh-ed25519 HY2yRg eHM55QsHK1ca9b5nP3EoVUZYu0w2d4B5tkilNK0j/lw
|
||||||
6n5dH1McNzk3rscP4v2pqZYDWtUFMd15rZsEd/mqIFM
|
6Na6lkMe0fOd7+vNP1fLIaVEQDUw5m65Wh8jUH1I6C0
|
||||||
-> ssh-ed25519 cK5kHw Ebrj/cpz1cFWAYAV9OxgyyH85OEMUnfUIV66p7jaoFY
|
-> ssh-ed25519 cK5kHw 0ekhoBYwF7OSWwn4P5f/J4gXb9UHJAWGKV0yI7HCzzE
|
||||||
6J7hWqODtS/fIF4BpxhxbrxZq5vbolvbLqRKqazT02M
|
2Q+Tt5jXAB9ip9jf1z+jeM4FSiqd1w5DNtbqtacuOcM
|
||||||
-> ssh-ed25519 CAWG4Q mXqoQH9ycHF7u0y8mazCgynHxNLxTnrmQHke+2a5QCc
|
-> ssh-ed25519 CAWG4Q Jmw4v9efOFXHjjNky96q/d6vGBP5dNM4wK9zoGrwOh8
|
||||||
mq6PdSF+KOqthuXwzTCsOQsi5KG0z1wHUck+bSTyOBY
|
u5I17wcIq8/2ARWckDXsYckhfX0jWE4AEm5mip/KHws
|
||||||
-> ssh-ed25519 xA739A TADeswueqDEroZWLjMw3RDNwVQ2xRD+JUMVZENovn0M
|
-> ssh-ed25519 xA739A 10pPeC2YG9DJzaQlt7p+fGo27VDiL2dN6JmvY2npcUw
|
||||||
KFlnSjVFbjc+ZsbY8Ed7edC5B01TJGzd/dSryiLArPc
|
4aRV8DekYeL9HagGWgOSjlYnPKmYdKZH8Aw4lRdm+r8
|
||||||
-> ssh-ed25519 MSF3dg Pq+ZD8AqJGDHDbd4PO1ngNFST8+6C2ghZkO/knKzzEc
|
-> ssh-ed25519 MSF3dg hDwIE3Su6cN3sq2E5v/oy6vTNfxTT1ZPts85//gIhwY
|
||||||
wyiL/u38hdQMokmfTsBrY7CtYwc+31FG4EDaqVEn31U
|
aoiaGjQYJB1ededhIuVBCKDRLIOVThWz1pSTvg65J3Y
|
||||||
--- 1z4cOipayh0zYkvasEVEvGreajegE/dqBV7b6E7aFh0
|
--- OYPAGb5U/nwLOIV5VchSvxhChjNnwzbEgU9glSkWCl4
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>R<EFBFBD>@<40>/i<>I'<27><><EFBFBD>Nx<4E>r"<1D>`<1E>O<EFBFBD><4F><EFBFBD>y<><79>8<EFBFBD><38> \/<2F><>I<19><17>D<EFBFBD>`<60>ߓ<EFBFBD><DF93><EFBFBD><1E><04>uy<75><79><EFBFBD>:9Lt<4C><1D><><EFBFBD>؋<EFBFBD><D88B><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>AU<41><55><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>`<60>;<3B>q8<71>GLU#<23>i<EFBFBD>y<EFBFBD><79>i<03>ڜ
|
<EFBFBD>=<3D><><EFBFBD>c<EFBFBD>WȟJSaІ&<26><1F>ቧ)E<><0B> C<><43>J~u<>c<63><7F>2<EFBFBD><32>v<EFBFBD><76><EFBFBD><03><>s<EFBFBD><73><EFBFBD>vf<76><10><>X7(<28>~<7E><1A>=XCi;<3B>״<EFBFBD>\ߢ<><DFA2><EFBFBD>ܣ<EFBFBD><10><><07>ɳCe<43>D;;X*<2A>3<EFBFBD>i<EFBFBD><69>r<EFBFBD>Em<45><6D><
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,14 +1,13 @@
|
|||||||
age-encryption.org/v1
|
age-encryption.org/v1
|
||||||
-> ssh-ed25519 G5LX5w SRJhNenoQXbT1FgX3TMPnVH5P6oe2eHot+M1YsEjsEk
|
-> ssh-ed25519 G5LX5w /9lcJOXC9CN02+XLswUaJ0H7jU6Xhjd8Xg4+KY0l1Vc
|
||||||
hfTSLgKi98Eh7JK5o7x2POpTEtQlQCpEa3keUFYCuME
|
fCLzsLc9zrocM8SHOKyZwt6eUEr8r1WLug9RLi63KU0
|
||||||
-> ssh-ed25519 cK5kHw z5TwWJTkvx7HztjXHJW/aCOtOfPrQaLP0gyIT7rXcyU
|
-> ssh-ed25519 cK5kHw 1qza6h2NRSs4g8LYdFU7E+Dn1CgdtCU7DPdYInP1GwM
|
||||||
b4NCpHfasgvkLLr+6LcWUl60p59aSNnfp3bl2OFYXo0
|
/6uk7pTFkNTRTI7nA+x4y4CyOBVQVXX2lnpOg3ktPe4
|
||||||
-> ssh-ed25519 CAWG4Q 4VpS1/OnFe8nxcQbRTKNhjsh/ZQ5cbhSMXwK/jjQ+3o
|
-> ssh-ed25519 CAWG4Q o+vyzcejSaNVYPSGzzOdzaqPByZ6zA1uaJf4KOg+wQA
|
||||||
WF9wvOkqVml4UcEzyzeumKuUwCwwr2zvKLMg+PCB8nk
|
wfZmWrDSfRV8C+Hu+SeZDcomf/qigBqxuQK77SfnuEo
|
||||||
-> ssh-ed25519 xA739A 67FhuJ070jBVMt/xbKHWhfri6iIm0FyaFvzQabsvFBM
|
-> ssh-ed25519 xA739A +rBsOC+IBE3lmc/pfrziftLIqMSyaGMsggRjC5Pqwl0
|
||||||
1G5/913dDv/r/6p1x/c5YiUnZzrX/LvIj33KW+PN0KU
|
xa7ulLz2+YC3g2hu7e9XhRYDIUb2sriaaigJRYF2oB8
|
||||||
-> ssh-ed25519 MSF3dg Bj/yB4N2wkyHCHC22tcjjJAA4ebSamN0Z4UVX3ZnryI
|
-> ssh-ed25519 MSF3dg TK6PmKjjQt8ni0mJLCt7P41lUsgimlj3o5Q6n3N+DE4
|
||||||
6D/ZgTs+j+MGDAbPU5zyK0i9zN6tQy68IcOnQZ27mYg
|
ne+s3ctcg8cBjY06LY2lrW7wcxomvKHxu6MlirEA8Kg
|
||||||
--- 169erk3ICSYLs4FPEuXCn7QlekWhsmSn0Lr+/R14I5Q
|
--- eorg2ckkUZ1Ogi4iTTg2MoiVBwl1F0RCmH2D8N1d1So
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><05>ҽ3<D2BD>s<EFBFBD>
|
<EFBFBD><EFBFBD><EFBFBD>8<1C><><EFBFBD><EFBFBD><EFBFBD><12>i<17>$]K<>J=2Z<1D><>ӼF<D3BC>][<14><><EFBFBD>8<EFBFBD><38>ޤ<12> <09>=<3D><>LD/<2F>gz
|
||||||
w<EFBFBD><EFBFBD>4D<EFBFBD><EFBFBD>b.<2E><><EFBFBD>"|<7C><><EFBFBD>)"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;<3B>.<2E>ɫ7)<29>LeC<05>=S؟
|
|
||||||
Binary file not shown.
@@ -1,14 +1,13 @@
|
|||||||
age-encryption.org/v1
|
age-encryption.org/v1
|
||||||
-> ssh-ed25519 cDBabA heyW9/cxgwFX9IexQIXjAQDWGQPNcMXcArQp2Rxsqx4
|
-> ssh-ed25519 cDBabA So/Tqwdwd7G0PbE4RwH2qDrNcdqTkhFjF4IJrLKKpkM
|
||||||
o9MQ7EH8PDDjsJdpH9F3Xq2zUoaDAJQlfFmYucSFs6Y
|
MEA5dzlUeFXm3pa+ndxrcE0ZWdO00Xf98+Q8U9LZ+cQ
|
||||||
-> ssh-ed25519 cK5kHw Sza4pos7K3qW3omEeyidI/jszJNf9smemSZnUJfCIww
|
-> ssh-ed25519 cK5kHw sCHD/hHBOfMBUQXkLG3MBPNC4ebLOXW37OlF/C8FEjU
|
||||||
D6vazXki7hIYraIuSiGPS+FPbkFUwHhHWDf52OhEIMg
|
4TFbKoy23Ic2vteXZ02fMrFxyb4NxyWaSo5I8dn48mI
|
||||||
-> ssh-ed25519 CAWG4Q YexIHueOIMmIN8JIDyNUOKBkyz/k18HqV3hTXh48KlM
|
-> ssh-ed25519 CAWG4Q KYGPAXTx8H5cBC3YIBxi5B7OeF15C9rEIPFCcG0vEDw
|
||||||
xh8UJzzWT6ByN+Dpn4JrMNsjGC/uc/v6LynwjBDz9NQ
|
9LC2Zvp1Oiau1/hfPf+nJknl6BUSr+lzTn6TozZNxJg
|
||||||
-> ssh-ed25519 xA739A KySG3TXdqfCMUkVEDGa74B0op745s3XGYxFLyAXSQAc
|
-> ssh-ed25519 xA739A hpvNBHPgYRtUx0HyUAdCW8s7QTmGyPXwzRHb8qYoeG0
|
||||||
5EI/yb5ctW9Qu18bHm3/sK97kwGcKzzmWvPSCWm89XA
|
QkUZINY7Fr7HpyY6lbIMcP+hGO3oCmLL6N+yDN4weyk
|
||||||
-> ssh-ed25519 MSF3dg MNxnNj0fHmri8ophexXPNjRUBUWrzcuk5S1mucxUMTE
|
-> ssh-ed25519 MSF3dg P9TmEfXS+hyxsbVKja58UWAFpad0ZS3LhwrMkLnSNAY
|
||||||
GVFWXtISEU8ZmlwL4nh4weAgfGrt2GHX0DTzbpS6zg8
|
hiHuh7HhoYwHi2KFbCczXJoF3On9eqjD1Wsp9Q1NW/w
|
||||||
--- UdrqkYG2ZApAuwdZeNhC50NP2rkD/Ol6y8nJa4RHx7Y
|
--- SN3peoDvjXuD/Q4DdebQFam1CE22NyGZlMmnKyCTuX8
|
||||||
<EFBFBD>ܻ<EFBFBD>m(<28><><EFBFBD>><3E>H<48>Y87<><37>G<0F>+*<12><><EFBFBD><EFBFBD>9V<>.<2E><><EFBFBD><EFBFBD><03><><EFBFBD>p<EFBFBD>Oo<4F>=+哇<>P0<50><30>{<7B>)<29><17><><EFBFBD><EFBFBD>><3E>z3P^
|
s<0F><><14><>&׳֦<D7B3><D6A6><EFBFBD><EFBFBD>}<7D>#In0&<26><1F>{<7B>1<EFBFBD><31>.
|
||||||
u
|
|
||||||
Binary file not shown.
@@ -23,9 +23,6 @@ in stdenv.mkDerivation {
|
|||||||
dontUnpack = true;
|
dontUnpack = true;
|
||||||
dontConfigure = true;
|
dontConfigure = true;
|
||||||
|
|
||||||
# nOS-V requires access to /sys/devices to request NUMA information
|
|
||||||
requiredSystemFeatures = [ "sys-devices" ];
|
|
||||||
|
|
||||||
buildInputs = [ openmp ];
|
buildInputs = [ openmp ];
|
||||||
|
|
||||||
buildPhase = ''
|
buildPhase = ''
|
||||||
|
|||||||
Reference in New Issue
Block a user