nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 fetchurl,
4
5 # The list of components to install;
6 # Either [ "all" ], [ "default" ], or a custom list of components.
7 # If you want to install all default components plus an extra one, pass [ "default" <your extra components here> ]
8 # Note that changing this will also change the `buildInputs` of the derivation.
9 #
10 # If you want other components listed of the toolkit, consider using intel-oneapi.base instead;
11 # This are specifically the components that are not present there.
12 components ? [
13 "intel.oneapi.lin.dpcpp-cpp-compiler"
14 "intel.oneapi.lin.ifort-compiler"
15 "intel.oneapi.lin.mpi.devel"
16 "intel.oneapi.lin.tbb.devel"
17 ],
18
19 intel-oneapi,
20 zlib,
21 rdma-core,
22 libpsm2,
23 ucx,
24 libuuid,
25 numactl,
26 level-zero,
27 libffi,
28}:
29intel-oneapi.mkIntelOneApi (finalAttrs: {
30 pname = "intel-oneapi-hpc-toolkit";
31
32 src = fetchurl {
33 url = "https://registrationcenter-download.intel.com/akdlm/IRC_NAS/2d2a6686-ff06-44ce-baf0-ab84f8dafa89/intel-oneapi-hpc-toolkit-2025.2.1.44_offline.sh";
34 hash = "sha256-SC0eDu4TGf9bZB8aAX4AnIvguTpP0afOj9JqA63QSPs=";
35 };
36
37 versionYear = "2025";
38 versionMajor = "2";
39 versionMinor = "1";
40 versionRel = "44";
41
42 inherit components;
43
44 depsByComponent = {
45 mpi = [
46 zlib
47 rdma-core
48 libpsm2
49 ucx
50 libuuid
51 numactl
52 level-zero
53 libffi
54 ];
55 pti = [ level-zero ];
56 ifort-compiler = [ ];
57 };
58
59 autoPatchelfIgnoreMissingDeps = [
60 # Needs to be dynamically loaded as it depends on the hardware
61 "libcuda.so.1"
62 ];
63
64 passthru.updateScript = intel-oneapi.mkUpdateScript {
65 inherit (finalAttrs) pname;
66 file = "hpc.nix";
67 downloadPage = "https://www.intel.com/content/www/us/en/developer/tools/oneapi/hpc-toolkit-download.html?packages=hpc-toolkit&hpc-toolkit-os=linux&hpc-toolkit-lin=offline";
68 };
69
70 meta = {
71 description = "Intel oneAPI HPC Toolkit";
72 homepage = "https://www.intel.com/content/www/us/en/developer/tools/oneapi/hpc-toolkit.html";
73 license = with lib.licenses; [
74 intel-eula
75 issl
76 asl20
77 ];
78 maintainers = with lib.maintainers; [
79 balsoft
80 ];
81 platforms = [ "x86_64-linux" ];
82 };
83})