jql: 8.0.0 -> 8.0.2 (#362884)
[NixPkgs.git] / pkgs / development / rocm-modules / 5 / clr / test-opencl-example.nix
blob2b3959d6e3ec516833c7065d350340107cd81811
2   lib,
3   stdenv,
4   makeImpureTest,
5   fetchFromGitHub,
6   clr,
7   cmake,
8   pkg-config,
9   glew,
10   libglut,
11   opencl-headers,
12   ocl-icd,
15 let
17   examples = stdenv.mkDerivation {
18     pname = "amd-app-samples";
19     version = "2018-06-10";
21     src = fetchFromGitHub {
22       owner = "OpenCL";
23       repo = "AMD_APP_samples";
24       rev = "54da6ca465634e78fc51fc25edf5840467ee2411";
25       hash = "sha256-qARQpUiYsamHbko/I1gPZE9pUGJ+3396Vk2n7ERSftA=";
26     };
28     nativeBuildInputs = [
29       cmake
30       pkg-config
31     ];
33     buildInputs = [
34       glew
35       libglut
36       opencl-headers
37       ocl-icd
38     ];
40     installPhase = ''
41       runHook preInstall
43       mkdir -p $out/bin
44       # Example path is bin/x86_64/Release/cl/Reduction/Reduction
45       cp -r bin/*/*/*/*/* $out/bin/
47       runHook postInstall
48     '';
50     cmakeFlags = [ "-DBUILD_CPP_CL=OFF" ];
52     meta = with lib; {
53       description = "Samples from the AMD APP SDK (with OpenCRun support)";
54       homepage = "https://github.com/OpenCL/AMD_APP_samples";
55       license = licenses.bsd2;
56       platforms = platforms.linux;
57       maintainers = lib.teams.rocm.members;
58     };
59   };
62 makeImpureTest {
63   name = "opencl-example";
64   testedPackage = "rocmPackages_5.clr";
66   sandboxPaths = [
67     "/sys"
68     "/dev/dri"
69     "/dev/kfd"
70   ];
72   nativeBuildInputs = [ examples ];
74   OCL_ICD_VENDORS = "${clr.icd}/etc/OpenCL/vendors";
76   testScript = ''
77     # Examples load resources from current directory
78     cd ${examples}/bin
79     echo OCL_ICD_VENDORS=$OCL_ICD_VENDORS
80     pwd
82     HelloWorld | grep HelloWorld
83   '';
85   meta = with lib; {
86     maintainers = teams.rocm.members;
87   };