diff options
author | Kier Davis <kierdavis@gmail.com> | 2017-02-04 20:24:48 +0000 |
---|---|---|
committer | Nikolay Amiantov <ab@fmap.me> | 2017-02-07 15:20:30 +0300 |
commit | 83865b2c6cba71c15336ab9aefa3b6bed6986abe (patch) | |
tree | 118d091c54c236c8ddd218a45c409a2f56680439 | |
parent | f7b7d8e7b59f5e13338be76256e8b524eb993959 (diff) | |
download | nixpkgs-83865b2c6cba71c15336ab9aefa3b6bed6986abe.tar nixpkgs-83865b2c6cba71c15336ab9aefa3b6bed6986abe.tar.gz nixpkgs-83865b2c6cba71c15336ab9aefa3b6bed6986abe.tar.bz2 nixpkgs-83865b2c6cba71c15336ab9aefa3b6bed6986abe.tar.lz nixpkgs-83865b2c6cba71c15336ab9aefa3b6bed6986abe.tar.xz nixpkgs-83865b2c6cba71c15336ab9aefa3b6bed6986abe.tar.zst nixpkgs-83865b2c6cba71c15336ab9aefa3b6bed6986abe.zip |
intel-ocl: init at r4.0-59481
-rw-r--r-- | pkgs/os-specific/linux/intel-ocl/default.nix | 61 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 2 |
2 files changed, 63 insertions, 0 deletions
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 { }; |