nixos/local/pkgs/oneapi/default.nix

91 lines
2.4 KiB
Nix
Raw Normal View History

2023-07-15 22:02:40 +08:00
{
2023-07-19 17:12:51 +08:00
lib, stdenv, fetchurl, autoPatchelfHook, strace,
ncurses, xorg, qt6, libdrm
2023-07-15 22:02:40 +08:00
}:
stdenv.mkDerivation rec
{
version = "2023.1";
2023-07-18 20:17:38 +08:00
pname = "oneapi";
2023-07-15 22:02:40 +08:00
sourceRoot = ".";
2023-07-18 20:17:38 +08:00
src = [
2023-07-15 22:02:40 +08:00
(fetchurl {
url = "https://registrationcenter-download.intel.com/akdlm/IRC_NAS/7deeaac4-f605-4bcf-a81b-ea7531577c61/l_BaseKit_p_2023.1.0.46401_offline.sh";
2023-07-16 14:07:59 +08:00
sha256 = "0cn32zqfbjv0vq43g6ap10crnsyk7nldyqpyyzn6g52j5h45g93l";
2023-07-15 22:02:40 +08:00
})
(fetchurl {
url = "https://registrationcenter-download.intel.com/akdlm/IRC_NAS/1ff1b38a-8218-4c53-9956-f0b264de35a4/l_HPCKit_p_2023.1.0.46346_offline.sh";
2023-07-16 14:07:59 +08:00
sha256 = "0wfya02lljq4iid0nc5sn4055dkvgxwrc40x7qbgpdprzqx4a8l8";
2023-07-15 22:02:40 +08:00
})
];
2023-07-18 20:17:38 +08:00
basekit = "${builtins.elemAt src 0}";
hpckit = "${builtins.elemAt src 1}";
2023-07-15 22:02:40 +08:00
2023-07-19 17:12:51 +08:00
nativeBuildInputs = [ autoPatchelfHook strace ];
2023-07-19 00:06:53 +08:00
propagatedBuildInputs = [ ncurses stdenv.cc.cc.lib xorg.libXau qt6.full ];
2023-07-15 22:02:40 +08:00
2023-07-16 14:07:59 +08:00
# propagatedBuildInputs =
# [
# glibc glib libnotify xdg-utils ncurses nss
# at-spi2-core libxcb libdrm gtk3 mesa qt515.full
# zlib freetype fontconfig xorg.xorgproto xorg.libX11 xorg.libXt
# xorg.libXft xorg.libXext xorg.libSM xorg.libICE
# ];
2023-07-15 22:02:40 +08:00
2023-07-16 14:07:59 +08:00
# libPath = lib.makeLibraryPath
# [
# stdenv.cc.cc libX11 glib libnotify xdg-utils
# ncurses nss at-spi2-core libxcb libdrm gtk3
# mesa qt515.full zlib atk nspr dbus pango cairo
# gdk-pixbuf cups expat libxkbcommon alsaLib
# at-spi2-atk xorg.libXcomposite xorg.libxshmfence
# xorg.libXdamage xorg.libXext xorg.libXfixes
# xorg.libXrandr
# ];
2023-07-15 22:02:40 +08:00
2023-07-18 20:17:38 +08:00
unpackPhase =
let
unpack = toolkit: "bash ${toolkit} --extract-only --extract-folder $TMP";
in
"
${unpack basekit}
2023-07-19 00:06:53 +08:00
# ${unpack hpckit}
2023-07-18 20:17:38 +08:00
";
patchPhase =
"
2023-07-19 17:12:51 +08:00
# toolkit_name=$(basename ${basekit} | sed -e 's/\.sh//g' | sed -e 's/.*-//g')
# rm -r $TMP/\${toolkit_name}/{lib,plugins}
2023-07-18 20:17:38 +08:00
patchShebangs $TMP
autoPatchelf $TMP
2023-07-19 17:12:51 +08:00
echo $TMP
echo etc
ls /etc
echo dev
ls /dev
sleep 10
2023-07-18 20:17:38 +08:00
";
2023-07-15 22:02:40 +08:00
installPhase =
2023-07-18 20:17:38 +08:00
let
install = toolkit:
"
2023-07-19 17:12:51 +08:00
echo 'ID=nixos' >> /etc/os-release
echo 'NAME=NixOS' >> /etc/os-release
2023-07-18 20:17:38 +08:00
export HOME=$TMP
2023-07-19 17:12:51 +08:00
echo $TMP
echo etc
ls /etc
echo dev
ls /dev
sleep 10
2023-07-18 20:17:38 +08:00
toolkit_name=$(basename ${toolkit} | sed -e 's/\.sh//g' | sed -e 's/.*-//g')
2023-07-19 17:12:51 +08:00
strace $TMP/\${toolkit_name}/install.sh --install-dir $out --eula accept -s --ignore-errors
2023-07-18 20:17:38 +08:00
";
in
"
runHook preInstall
${install basekit}
${install hpckit}
runHook postInstall
";
2023-07-15 22:02:40 +08:00
}