Compare commits
1 Commits
fece91e756
...
add-vivado
| Author | SHA1 | Date | |
|---|---|---|---|
| 766b908923 |
8
flake.lock
generated
8
flake.lock
generated
@@ -2,10 +2,10 @@
|
||||
"nodes": {
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1752436162,
|
||||
"narHash": "sha256-Kt1UIPi7kZqkSc5HVj6UY5YLHHEzPBkgpNUByuyxtlw=",
|
||||
"path": "/nix/store/zk8v61cpk1wprp9ld5ayc1g5fq4pdkwv-source",
|
||||
"rev": "dfcd5b901dbab46c9c6e80b265648481aafb01f8",
|
||||
"lastModified": 1736867362,
|
||||
"narHash": "sha256-i/UJ5I7HoqmFMwZEH6vAvBxOrjjOJNU739lnZnhUln8=",
|
||||
"path": "/nix/store/2csx2kkb2hxyxhhmg2xs9jfyypikwwk6-source",
|
||||
"rev": "9c6b49aeac36e2ed73a8c472f1546f6d9cf1addc",
|
||||
"type": "path"
|
||||
},
|
||||
"original": {
|
||||
|
||||
@@ -18,7 +18,7 @@ let
|
||||
clangOmpss2NodesOmpv = callPackage ./pkgs/llvm-ompss2/default.nix { ompss2rt = final.nodes; openmp = final.openmpv; };
|
||||
clangOmpss2Unwrapped = callPackage ./pkgs/llvm-ompss2/clang.nix { };
|
||||
#extrae = callPackage ./pkgs/extrae/default.nix { }; # Broken and outdated
|
||||
#gpi-2 = callPackage ./pkgs/gpi-2/default.nix { }; # Broken: https://jungle.bsc.es/git/rarias/bscpkgs/issues/7
|
||||
gpi-2 = callPackage ./pkgs/gpi-2/default.nix { };
|
||||
intelPackages_2023 = callPackage ./pkgs/intel-oneapi/2023.nix { };
|
||||
jemallocNanos6 = callPackage ./pkgs/nanos6/jemalloc.nix { };
|
||||
#lmbench = callPackage ./pkgs/lmbench/default.nix { }; # Broken
|
||||
@@ -44,8 +44,9 @@ let
|
||||
stdenvClangOmpss2Nanos6 = final.stdenv.override { cc = final.clangOmpss2Nanos6; allowedRequisites = null; };
|
||||
stdenvClangOmpss2Nodes = final.stdenv.override { cc = final.clangOmpss2Nodes; allowedRequisites = null; };
|
||||
stdenvClangOmpss2NodesOmpv = final.stdenv.override { cc = final.clangOmpss2NodesOmpv; allowedRequisites = null; };
|
||||
#tagaspi = callPackage ./pkgs/tagaspi/default.nix { }; # Broken due gpi-2
|
||||
tagaspi = callPackage ./pkgs/tagaspi/default.nix { };
|
||||
tampi = callPackage ./pkgs/tampi/default.nix { };
|
||||
vivado = callPackage ./pkgs/vivado/default.nix { };
|
||||
wxparaver = callPackage ./pkgs/paraver/default.nix { };
|
||||
};
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
, mpi
|
||||
, tampi
|
||||
, gitBranch ? "master"
|
||||
, gitURL ? "ssh://git@bscpm04.bsc.es/rarias/bench6.git"
|
||||
, gitURL ? "ssh://git@bscpm03.bsc.es/rarias/bench6.git"
|
||||
, gitCommit ? "1e6ce2aa8ad7b4eef38df1581d7ec48a8815f85d"
|
||||
}:
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
|
||||
] ++ optionals (enableTest) [ mpi clangOmpss2 tampi ];
|
||||
|
||||
src = builtins.fetchGit {
|
||||
url = "ssh://git@bscpm04.bsc.es/rarias/cn6.git";
|
||||
url = "ssh://git@bscpm03.bsc.es/rarias/cn6.git";
|
||||
ref = "master";
|
||||
rev = "c72c3b66b720c2a33950f536fc819051c8f20a69";
|
||||
};
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
{ stdenv
|
||||
, fetchurl
|
||||
, ncurses
|
||||
, lib
|
||||
, dpkg
|
||||
, rsync
|
||||
@@ -9,9 +10,12 @@
|
||||
, hwloc
|
||||
, zlib
|
||||
, autoPatchelfHook
|
||||
, symlinkJoin
|
||||
, libfabric
|
||||
, gcc13
|
||||
, gcc
|
||||
, gcc7
|
||||
, wrapCCWith
|
||||
, linuxHeaders
|
||||
}:
|
||||
|
||||
# The distribution of intel packages is a mess. We are doing the installation
|
||||
@@ -26,8 +30,6 @@
|
||||
|
||||
let
|
||||
|
||||
gcc = gcc13;
|
||||
|
||||
v = {
|
||||
hpckit = "2023.1.0";
|
||||
compiler = "2023.1.0";
|
||||
@@ -312,7 +314,6 @@ let
|
||||
"intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic-runtime-${version}"
|
||||
"intel-oneapi-compiler-dpcpp-cpp-classic-fortran-shared-runtime-${version}"
|
||||
];
|
||||
dontCheckForBrokenSymlinks = true;
|
||||
# From https://aur.archlinux.org/packages/intel-oneapi-compiler:
|
||||
# - intel-oneapi-compiler-cpp-eclipse-cfg-2023.0.0-25370_all.deb
|
||||
# + intel-oneapi-compiler-dpcpp-cpp-2023.0.0-2023.0.0-25370_amd64.deb
|
||||
@@ -398,9 +399,7 @@ let
|
||||
echo "-L${cc}/lib" >> $out/nix-support/cc-ldflags
|
||||
|
||||
# Need the gcc in the path
|
||||
# FIXME: We should find a better way to modify the PATH instead of using
|
||||
# this ugly hack. See https://jungle.bsc.es/git/rarias/bscpkgs/issues/9
|
||||
echo 'path_backup="${mygcc}/bin:$path_backup"' >> $out/nix-support/cc-wrapper-hook
|
||||
echo 'export "PATH=${mygcc}/bin:$PATH"' >> $out/nix-support/cc-wrapper-hook
|
||||
|
||||
# Disable hardening by default
|
||||
echo "" > $out/nix-support/add-hardening.sh
|
||||
|
||||
@@ -14,21 +14,21 @@
|
||||
, gcc # needed to set the rpath of libstdc++ for clang-tblgen
|
||||
, enableDebug ? false
|
||||
, useGit ? false
|
||||
, gitUrl ? "ssh://git@bscpm04.bsc.es/llvm-ompss/llvm-mono.git"
|
||||
, gitUrl ? "ssh://git@bscpm03.bsc.es/llvm-ompss/llvm-mono.git"
|
||||
, gitBranch ? "master"
|
||||
, gitCommit ? "880e2341c56bad1dc14e8c369fb3356bec19018e"
|
||||
, gitCommit ? "8c0d267c04d7fc3fb923078f510fcd5f4719a6cc"
|
||||
}:
|
||||
|
||||
let
|
||||
stdenv = llvmPackages_latest.stdenv;
|
||||
|
||||
release = rec {
|
||||
version = "2025.06";
|
||||
version = "2024.11";
|
||||
src = fetchFromGitHub {
|
||||
owner = "bsc-pm";
|
||||
repo = "llvm";
|
||||
rev = "refs/tags/github-release-${version}";
|
||||
hash = "sha256-ww9PpRmtz/M9IyLiZ8rAehx2UW4VpQt+svf4XfKBzKo=";
|
||||
hash = "sha256-pF0qa987nLkIJPUrXh1srzBkLPfb31skIegD0bl34Kg=";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -9,14 +9,12 @@
|
||||
, ompss2rt ? null
|
||||
}:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
usingNodesAndOmpv = (openmp.pname == "openmp-v" && ompss2rt.pname == "nodes");
|
||||
sameNosv = openmp.nosv == ompss2rt.nosv;
|
||||
in
|
||||
|
||||
assert assertMsg (usingNodesAndOmpv -> sameNosv) "OpenMP-V and NODES must share the same nOS-V";
|
||||
assert lib.assertMsg (usingNodesAndOmpv -> sameNosv) "OpenMP-V and NODES must share the same nOS-V";
|
||||
|
||||
let
|
||||
homevar = if ompss2rt.pname == "nanos6" then "NANOS6_HOME" else "NODES_HOME";
|
||||
@@ -36,15 +34,14 @@ let
|
||||
targetConfig = stdenv.targetPlatform.config;
|
||||
inherit gcc;
|
||||
cc = clangOmpss2Unwrapped;
|
||||
gccVersion = with versions; let v = gcc.version; in concatStringsSep "." [(major v) (minor v) (patch v)];
|
||||
in wrapCCWith {
|
||||
inherit cc bintools;
|
||||
# extraPackages adds packages to depsTargetTargetPropagated
|
||||
extraPackages = optional (openmp != null) openmp;
|
||||
extraPackages = lib.optional (openmp != null) openmp;
|
||||
extraBuildCommands = ''
|
||||
echo "-target ${targetConfig}" >> $out/nix-support/cc-cflags
|
||||
echo "-B${gcc.cc}/lib/gcc/${targetConfig}/${gccVersion}" >> $out/nix-support/cc-cflags
|
||||
echo "-L${gcc.cc}/lib/gcc/${targetConfig}/${gccVersion}" >> $out/nix-support/cc-ldflags
|
||||
echo "-B${gcc.cc}/lib/gcc/${targetConfig}/${gcc.version}" >> $out/nix-support/cc-cflags
|
||||
echo "-L${gcc.cc}/lib/gcc/${targetConfig}/${gcc.version}" >> $out/nix-support/cc-ldflags
|
||||
echo "-L${gcc.cc.lib}/lib" >> $out/nix-support/cc-ldflags
|
||||
|
||||
for dir in ${gcc.cc}/include/c++/*; do
|
||||
@@ -58,12 +55,12 @@ in wrapCCWith {
|
||||
|
||||
wrap clang++ $wrapper $ccPath/clang++
|
||||
|
||||
'' + optionalString (openmp != null) ''
|
||||
'' + lib.optionalString (openmp != null) ''
|
||||
echo "export OPENMP_RUNTIME=${ompname}" >> $out/nix-support/cc-wrapper-hook
|
||||
'' + optionalString (ompss2rt != null) ''
|
||||
'' + lib.optionalString (ompss2rt != null) ''
|
||||
echo "export OMPSS2_RUNTIME=${rtname}" >> $out/nix-support/cc-wrapper-hook
|
||||
echo "export ${homevar}=${ompss2rt}" >> $out/nix-support/cc-wrapper-hook
|
||||
'' + optionalString (ompss2rt != null && ompss2rt.pname == "nodes") ''
|
||||
'' + lib.optionalString (ompss2rt != null && ompss2rt.pname == "nodes") ''
|
||||
echo "export NOSV_HOME=${ompss2rt.nosv}" >> $out/nix-support/cc-wrapper-hook
|
||||
'';
|
||||
}
|
||||
|
||||
@@ -68,7 +68,6 @@ stdenv.mkDerivation rec {
|
||||
rm -f $out/lib/libiomp*
|
||||
'' + lib.optionalString enableNosv ''
|
||||
rm -f $out/lib/libomp.*
|
||||
rm -f $out/libllvmrt/libomp.*
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
|
||||
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
|
||||
};
|
||||
|
||||
src = builtins.fetchGit {
|
||||
url = "ssh://git@bscpm04.bsc.es/mercurium/mcxx";
|
||||
url = "ssh://git@bscpm03.bsc.es/mercurium/mcxx";
|
||||
ref = "master";
|
||||
};
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
#src = /home/Computational/rarias/mcxx;
|
||||
src = builtins.fetchGit {
|
||||
url = "ssh://git@bscpm04.bsc.es/rarias/mcxx";
|
||||
url = "ssh://git@bscpm03.bsc.es/rarias/mcxx";
|
||||
rev = "44129a6ac05b8f78b06e9e2eff71438b5ca4d29f";
|
||||
};
|
||||
|
||||
|
||||
@@ -17,9 +17,9 @@
|
||||
, cachelineBytes ? 64
|
||||
, enableGlibcxxDebug ? false
|
||||
, useGit ? false
|
||||
, gitUrl ? "ssh://git@bscpm04.bsc.es/nanos6/nanos6"
|
||||
, gitUrl ? "ssh://git@bscpm03.bsc.es/nanos6/nanos6"
|
||||
, gitBranch ? "master"
|
||||
, gitCommit ? "f82762b66c82b5174a8eaad33f6c2f335ac759b4"
|
||||
, gitCommit ? "9f54c988e0a8b9c011d9d526acdb8d76f18fcae4"
|
||||
}:
|
||||
|
||||
assert enableJemalloc -> (jemallocNanos6 != null);
|
||||
@@ -28,12 +28,12 @@ with lib;
|
||||
|
||||
let
|
||||
release = rec {
|
||||
version = "4.3";
|
||||
version = "4.2";
|
||||
src = fetchFromGitHub {
|
||||
owner = "bsc-pm";
|
||||
repo = "nanos6";
|
||||
rev = "version-${version}";
|
||||
hash = "sha256-/c6WiKBsAo/01uvMRmjv0PMucbrgvaGmbxlPE6q+dfE=";
|
||||
hash = "sha256-tBrRGLCjSFYdmVGPAC2DzYY6HJyZGUOMeykujafn7+4=";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -48,7 +48,7 @@ let
|
||||
|
||||
source = if (useGit) then git else release;
|
||||
in
|
||||
stdenv.mkDerivation (source // {
|
||||
stdenv.mkDerivation (source // rec {
|
||||
pname = "nanos6";
|
||||
|
||||
prePatch = ''
|
||||
@@ -62,7 +62,7 @@ in
|
||||
export CACHELINE_WIDTH=${toString cachelineBytes}
|
||||
./autogen.sh
|
||||
'' + lib.optionalString (useGit) ''
|
||||
export NANOS6_GIT_VERSION=${gitCommit}
|
||||
export NANOS6_GIT_VERSION=${src.rev}
|
||||
export NANOS6_GIT_BRANCH=${gitBranch}
|
||||
'';
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
|
||||
pname = "nixtools";
|
||||
version = "${src.shortRev}";
|
||||
src = builtins.fetchGit {
|
||||
url = "ssh://git@bscpm04.bsc.es/rarias/nixtools";
|
||||
url = "ssh://git@bscpm03.bsc.es/rarias/nixtools";
|
||||
ref = "master";
|
||||
rev = "a103e392048ace3ed88ce74648b32c9e6ed094da";
|
||||
};
|
||||
|
||||
@@ -11,19 +11,19 @@
|
||||
, useGit ? false
|
||||
, gitUrl ? "git@gitlab-internal.bsc.es:nos-v/nos-v.git"
|
||||
, gitBranch ? "master"
|
||||
, gitCommit ? "9f47063873c3aa9d6a47482a82c5000a8c813dd8"
|
||||
, gitCommit ? "cfd361bd1dd30c96da405e6bbaa7e78f5f93dfda"
|
||||
}:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
release = rec {
|
||||
version = "3.2.0";
|
||||
version = "3.1.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "bsc-pm";
|
||||
repo = "nos-v";
|
||||
rev = "${version}";
|
||||
hash = "sha256-yaz92426EM8trdkBJlISmAoG9KJCDTvoAW/HKrasvOw=";
|
||||
hash = "sha256-Pkre+ZZsREDxJLCoIoPN1HQDuUa2H1IQyKB3omg6qaU=";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -6,8 +6,8 @@
|
||||
, fetchFromGitHub
|
||||
, useGit ? false
|
||||
, gitBranch ? "master"
|
||||
, gitUrl ? "ssh://git@bscpm04.bsc.es/rarias/ovni.git"
|
||||
, gitCommit ? "e4f62382076f0cf0b1d08175cf57cc0bc51abc61"
|
||||
, gitUrl ? "ssh://git@bscpm03.bsc.es/rarias/ovni.git"
|
||||
, gitCommit ? "a7103f8510d1ec124c3e01ceb47d1e443e98bbf4"
|
||||
, enableDebug ? false
|
||||
# Only enable MPI if the build is native (fails on cross-compilation)
|
||||
, useMpi ? (stdenv.buildPlatform.canExecute stdenv.hostPlatform)
|
||||
@@ -17,13 +17,13 @@ with lib;
|
||||
|
||||
let
|
||||
release = rec {
|
||||
version = "1.12.0";
|
||||
version = "1.11.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "bsc-pm";
|
||||
repo = "ovni";
|
||||
rev = "${version}";
|
||||
hash = "sha256-H04JvsVKrdqr3ON7JhU0g17jjlg/jzQ7eTfx9vUNd3E=";
|
||||
} // { shortRev = "a73afcf"; };
|
||||
hash = "sha256-DEZUK1dvbPGH5WYkZ2hpP5PShkMxXkHOqMwgYUHHxeM=";
|
||||
} // { shortRev = "a7103f8"; };
|
||||
};
|
||||
|
||||
git = rec {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
stdenv
|
||||
, autoreconfHook
|
||||
, boost186
|
||||
, boost
|
||||
, libxml2
|
||||
, xml2
|
||||
, wxGTK32
|
||||
@@ -15,7 +15,6 @@
|
||||
|
||||
let
|
||||
wx = wxGTK32;
|
||||
boost = boost186;
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "wxparaver";
|
||||
|
||||
@@ -13,9 +13,9 @@
|
||||
, enableOvni ? true
|
||||
, ovni ? null
|
||||
, useGit ? false
|
||||
, gitUrl ? "ssh://git@bscpm04.bsc.es/interoperability/tampi.git"
|
||||
, gitUrl ? "ssh://git@bscpm03.bsc.es/interoperability/tampi.git"
|
||||
, gitBranch ? "master"
|
||||
, gitCommit ? "f6455db9d3124ae36e715a4874fd49720e79f20a"
|
||||
, gitCommit ? "a5c93bf8ab045b71ad4a8d5e2c991ce774db5cbc"
|
||||
}:
|
||||
|
||||
with lib;
|
||||
@@ -24,12 +24,12 @@ assert enableOvni -> (ovni != null);
|
||||
|
||||
let
|
||||
release = rec {
|
||||
version = "4.1";
|
||||
version = "4.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "bsc-pm";
|
||||
repo = "tampi";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-SwfPSnwcZnRnSgNvCD5sFSUJRpWINqI5I4adj5Hh+XY=";
|
||||
hash = "sha256-R7ew5tsrxGReTvOeeZe1FD0oThBhOHoDGv6Mo2sbmDg=";
|
||||
};
|
||||
};
|
||||
git = rec {
|
||||
|
||||
55
pkgs/vivado/default.nix
Normal file
55
pkgs/vivado/default.nix
Normal file
@@ -0,0 +1,55 @@
|
||||
# Thanks to MLabs to made the switch.
|
||||
|
||||
{
|
||||
stdenv
|
||||
, lib
|
||||
, ncurses5
|
||||
, libxcrypt-legacy
|
||||
, zlib
|
||||
, libuuid
|
||||
, xorg
|
||||
, freetype
|
||||
, fontconfig
|
||||
, buildFHSEnv
|
||||
}:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
vivadoDeps = pkgs:
|
||||
let
|
||||
# Apply patch from https://github.com/nix-community/nix-environments/pull/54
|
||||
# to fix ncurses libtinfo.so's soname issue
|
||||
ncurses' = ncurses5.overrideAttrs (old: {
|
||||
configureFlags = old.configureFlags ++ ["--with-termlib"];
|
||||
postFixup = "";
|
||||
});
|
||||
in [
|
||||
libxcrypt-legacy
|
||||
(ncurses'.override {unicodeSupport = false;})
|
||||
zlib
|
||||
libuuid
|
||||
xorg.libSM
|
||||
xorg.libICE
|
||||
xorg.libXrender
|
||||
xorg.libX11
|
||||
xorg.libXext
|
||||
xorg.libXtst
|
||||
xorg.libXi
|
||||
freetype
|
||||
fontconfig
|
||||
];
|
||||
|
||||
vivadoEnv = buildFHSEnv {
|
||||
name = "vivado-env";
|
||||
targetPkgs = vivadoDeps;
|
||||
};
|
||||
|
||||
vivado = buildFHSEnv {
|
||||
name = "vivado";
|
||||
targetPkgs = vivadoDeps;
|
||||
profile = "set -e; source /opt/Xilinx/Vivado/2024.2/settings64.sh";
|
||||
runScript = "vivado";
|
||||
};
|
||||
in
|
||||
vivadoEnv
|
||||
Reference in New Issue
Block a user