From 83865b2c6cba71c15336ab9aefa3b6bed6986abe Mon Sep 17 00:00:00 2001 From: Kier Davis Date: Sat, 4 Feb 2017 20:24:48 +0000 Subject: intel-ocl: init at r4.0-59481 --- pkgs/os-specific/linux/intel-ocl/default.nix | 61 ++++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 63 insertions(+) create mode 100644 pkgs/os-specific/linux/intel-ocl/default.nix diff --git a/pkgs/os-specific/linux/intel-ocl/default.nix b/pkgs/os-specific/linux/intel-ocl/default.nix new file mode 100644 index 00000000000..688cfbb8df5 --- /dev/null +++ b/pkgs/os-specific/linux/intel-ocl/default.nix @@ -0,0 +1,61 @@ +{ stdenv, fetchzip, rpmextract, ncurses5, numactl, zlib }: + +stdenv.mkDerivation rec { + version = "r4.0-59481"; + name = "intel-ocl-${version}"; + + src = fetchzip { + url = "https://software.intel.com/sites/default/files/managed/48/96/SRB4_linux64.zip"; + sha256 = "1q69g28i6l7p13hnsk82g2qhdf2chwh4f0wvzac6xml67hna3v34"; + stripRoot = false; + }; + + buildInputs = [ rpmextract ]; + + sourceRoot = "."; + + libPath = stdenv.lib.makeLibraryPath [ + stdenv.cc.cc.lib + ncurses5 + numactl + zlib + ]; + + postUnpack = '' + # Extract the RPMs contained within the source ZIP. + rpmextract SRB4_linux64.zip/intel-opencl-${version}.x86_64.rpm + rpmextract SRB4_linux64.zip/intel-opencl-cpu-${version}.x86_64.rpm + ''; + + patchPhase = '' + # Remove libOpenCL.so, since we use ocl-icd's libOpenCL.so instead and this would cause a clash. + rm opt/intel/opencl/libOpenCL.so* + + # Patch shared libraries. + for lib in opt/intel/opencl/*.so; do + patchelf --set-rpath "${libPath}:$out/lib/intel-ocl" $lib || true + done + ''; + + buildPhase = '' + # Create ICD file, which just contains the path of the corresponding shared library. + echo "$out/lib/intel-ocl/libintelocl.so" > intel.icd + ''; + + installPhase = '' + install -D -m 0755 opt/intel/opencl/*.so* -t $out/lib/intel-ocl + install -D -m 0644 opt/intel/opencl/*.{o,rtl,bin} -t $out/lib/intel-ocl + install -D -m 0644 opt/intel/opencl/{LICENSE,NOTICES} -t $out/share/doc/intel-ocl + install -D -m 0644 intel.icd -t $out/etc/OpenCL/vendors + ''; + + dontStrip = true; + + meta = { + description = "Official OpenCL runtime for Intel CPUs"; + homepage = https://software.intel.com/en-us/articles/opencl-drivers; + license = stdenv.lib.licenses.unfree; + platforms = [ "x86_64-linux" ]; + maintainers = [ stdenv.lib.maintainers.kierdavis ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a16ecc797be..e9e20f795fc 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11086,6 +11086,8 @@ with pkgs; intel2200BGFirmware = callPackage ../os-specific/linux/firmware/intel2200BGFirmware { }; + intel-ocl = callPackage ../os-specific/linux/intel-ocl { }; + iomelt = callPackage ../os-specific/linux/iomelt { }; iotop = callPackage ../os-specific/linux/iotop { }; -- cgit 1.4.1