biome: 1.9.2 -> 1.9.3 (#349335)
[NixPkgs.git] / pkgs / development / rocm-modules / 5 / clr / test-opencl-example.nix
blob0b612cde3f80db34c13d6736233222b9ee377827
1 { lib
2 , stdenv
3 , makeImpureTest
4 , fetchFromGitHub
5 , clr
6 , cmake
7 , pkg-config
8 , glew
9 , libglut
10 , opencl-headers
11 , ocl-icd
14 let
16   examples = stdenv.mkDerivation {
17     pname = "amd-app-samples";
18     version = "2018-06-10";
20     src = fetchFromGitHub {
21       owner = "OpenCL";
22       repo = "AMD_APP_samples";
23       rev = "54da6ca465634e78fc51fc25edf5840467ee2411";
24       hash = "sha256-qARQpUiYsamHbko/I1gPZE9pUGJ+3396Vk2n7ERSftA=";
25     };
27     nativeBuildInputs = [ cmake pkg-config ];
29     buildInputs = [ glew libglut opencl-headers ocl-icd ];
31     installPhase = ''
32       runHook preInstall
34       mkdir -p $out/bin
35       # Example path is bin/x86_64/Release/cl/Reduction/Reduction
36       cp -r bin/*/*/*/*/* $out/bin/
38       runHook postInstall
39     '';
41     cmakeFlags = [ "-DBUILD_CPP_CL=OFF" ];
43     meta = with lib; {
44       description = "Samples from the AMD APP SDK (with OpenCRun support)";
45       homepage    = "https://github.com/OpenCL/AMD_APP_samples";
46       license     = licenses.bsd2;
47       platforms   = platforms.linux;
48       maintainers = lib.teams.rocm.members;
49     };
50   };
53 makeImpureTest {
54   name = "opencl-example";
55   testedPackage = "rocmPackages_5.clr";
57   sandboxPaths = [ "/sys" "/dev/dri" "/dev/kfd" ];
59   nativeBuildInputs = [ examples ];
61   OCL_ICD_VENDORS = "${clr.icd}/etc/OpenCL/vendors";
63   testScript = ''
64     # Examples load resources from current directory
65     cd ${examples}/bin
66     echo OCL_ICD_VENDORS=$OCL_ICD_VENDORS
67     pwd
69     HelloWorld | grep HelloWorld
70   '';
72   meta = with lib; {
73     maintainers = teams.rocm.members;
74   };