107 lines
2.9 KiB
Nix
107 lines
2.9 KiB
Nix
with builtins;
|
|
let
|
|
nixpkgs = import <nixpkgs> {};
|
|
version = "3.8.6";
|
|
srcs = {
|
|
mpss-src = fetchTarball {
|
|
url = "http://registrationcenter-download.intel.com/akdlm/irc_nas/15904/mpss-src-${version}.tar";
|
|
sha256 = "017g67yc9zqviilryxvq31vzj9hp0lxxrlir8j9vs9l83sw8dfx5";
|
|
};
|
|
};
|
|
kernel = nixpkgs.linuxPackages_4_4.kernel;
|
|
|
|
in with nixpkgs;
|
|
let
|
|
modules = stdenv.mkDerivation rec {
|
|
name = "mpss-modules";
|
|
inherit version;
|
|
|
|
src = "${srcs.mpss-src}/src/mpss-modules-${version}.tar.bz2";
|
|
patches = [
|
|
./mpss-modules-4.4.patch
|
|
];
|
|
|
|
hardeningDisable = [ "pic" "format" ];
|
|
nativeBuildInputs = kernel.moduleBuildDependencies;
|
|
builtInputs = [ kmod ];
|
|
enableParallelBuilding = true;
|
|
|
|
makeFlags = [
|
|
"KERNELRELEASE=${kernel.modDirVersion}"
|
|
"KERNEL_SRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
|
|
"DESTDIR=$(out)"
|
|
"MIC_CARD_ARCH=k1om"
|
|
];
|
|
|
|
outputs = [ "out" "dev" ];
|
|
|
|
installPhase = ''
|
|
install -m644 -b -D mic.ko $out/lib/modules/${kernel.modDirVersion}/extra/mic.ko
|
|
install -d $dev/include/mic
|
|
install -m644 include/scif_ioctl.h $dev/include
|
|
install -m644 include/mic/io_interface.h $dev/include/mic
|
|
install -m644 include/mic/mic_pm.h $dev/include/mic
|
|
install -m644 ras/micras_api.h $dev/include/mic
|
|
install -m644 ras/micmca_api.h $dev/include/mic
|
|
'';
|
|
};
|
|
metadata = stdenv.mkDerivation rec {
|
|
name = "mpss-metadata";
|
|
inherit version;
|
|
|
|
src = "${srcs.mpss-src}/src/mpss-metadata-${version}.tar.bz2";
|
|
|
|
installPhase = ''
|
|
mkdir -p $out
|
|
install -m644 -b -D mpss-metadata.c $out/include/mpss-metadata.c
|
|
install -m644 -b -D mpss-metadata.mk $out/include/mpss-metadata.mk
|
|
install -m644 -b -D mpss-metadata.props $out/include/mpss-metadata.props
|
|
'';
|
|
};
|
|
gen-symver-map = stdenv.mkDerivation rec {
|
|
name = "gen-symver-map";
|
|
inherit version;
|
|
|
|
src = "${srcs.mpss-src}/src/gen-symver-map-${version}.tar.bz2";
|
|
buildInputs = [
|
|
pkgs.python27
|
|
];
|
|
installPhase = ''
|
|
mkdir -p $out
|
|
install -m755 -b -D gen-symver-map $out/bin/gen-symver-map
|
|
'';
|
|
};
|
|
libscif = stdenv.mkDerivation rec {
|
|
name = "libscif";
|
|
inherit version;
|
|
|
|
nativeBuildInputs = [ gen-symver-map asciidoc-full ];
|
|
buildInputs = [ modules.dev ];
|
|
enableParallelBuilding = true;
|
|
src = "${srcs.mpss-src}/src/libscif-${version}.tar.bz2";
|
|
makeFlags = [
|
|
"-I${metadata}/include"
|
|
"DESTDIR=$(out)"
|
|
"prefix="
|
|
];
|
|
};
|
|
daemon = stdenv.mkDerivation rec {
|
|
name = "mpss-daemon";
|
|
inherit version;
|
|
|
|
patches = [ ./mpss-daemon.patch ];
|
|
buildInputs = [ libscif ];
|
|
enableParallelBuilding = true;
|
|
src = "${srcs.mpss-src}/src/mpss-daemon-${version}.tar.bz2";
|
|
makeFlags = [
|
|
"DESTDIR=$(out)"
|
|
"prefix="
|
|
];
|
|
preBuild = ''
|
|
makeFlagsArray+=(INSTALL_s="install -m 755")
|
|
'';
|
|
};
|
|
in {
|
|
inherit modules daemon libscif metadata gen-symver-map;
|
|
}
|