From 072302cf6b614f1bf815728bd5305c49822cd24b Mon Sep 17 00:00:00 2001 From: qbisi Date: Tue, 15 Apr 2025 15:33:12 +0800 Subject: [PATCH] pocl: add setupHook to specifies directory to scan for ICDs Adds a setup hook that sets the OCL_ICD_VENDORS environment variable to point to a directory containing ICD (Installable Client Driver) files. These files define the available OpenCL backends, allowing other OpenCL applications to detect and use the appropriate drivers in sandbox environment. --- pkgs/by-name/po/pocl/package.nix | 2 ++ pkgs/by-name/po/pocl/setup-hook.sh | 6 ++++++ 2 files changed, 8 insertions(+) create mode 100644 pkgs/by-name/po/pocl/setup-hook.sh diff --git a/pkgs/by-name/po/pocl/package.nix b/pkgs/by-name/po/pocl/package.nix index ff5e71d99904..9f363a9de504 100644 --- a/pkgs/by-name/po/pocl/package.nix +++ b/pkgs/by-name/po/pocl/package.nix @@ -80,6 +80,8 @@ stdenv.mkDerivation (finalAttrs: { passthru.updateScript = nix-update-script { }; + setupHook = ./setup-hook.sh; + meta = { description = "A portable open source (MIT-licensed) implementation of the OpenCL standard"; homepage = "http://portablecl.org"; diff --git a/pkgs/by-name/po/pocl/setup-hook.sh b/pkgs/by-name/po/pocl/setup-hook.sh new file mode 100644 index 000000000000..986297516b75 --- /dev/null +++ b/pkgs/by-name/po/pocl/setup-hook.sh @@ -0,0 +1,6 @@ +preCheckHooks+=('setupPoclCheck') +preInstallCheckHooks+=('setupPoclCheck') + +setupPoclCheck () { + export OCL_ICD_VENDORS="@out@/etc/OpenCL/vendors" +}