diff --git a/src/find-python.ts b/src/find-python.ts index 77278770a..e5bc72659 100644 --- a/src/find-python.ts +++ b/src/find-python.ts @@ -121,15 +121,11 @@ export async function useCpythonVersion( core.exportVariable('PKG_CONFIG_PATH', installDir + '/lib/pkgconfig'); if (IS_LINUX) { - const libPath = process.env.LD_LIBRARY_PATH - ? `:${process.env.LD_LIBRARY_PATH}` - : ''; const pyLibPath = path.join(installDir, 'lib'); - - if (!libPath.split(':').includes(pyLibPath)) { - core.exportVariable('LD_LIBRARY_PATH', pyLibPath + libPath); - } + ensurePathInEnvVar('LIBRARY_PATH', pyLibPath); + ensurePathInEnvVar('LD_LIBRARY_PATH', pyLibPath); } + core.addPath(installDir); core.addPath(_binDir); @@ -159,6 +155,17 @@ export async function useCpythonVersion( return {impl: 'CPython', version: installed}; } +/** Ensure a folder is present in a colon-separated env-var */ +function ensurePathInEnvVar(envVarName: string, extraPath: string) { + const currentPath = process.env[envVarName] + ? `:${process.env[envVarName]}` + : ''; + + if (!currentPath.split(':').includes(extraPath)) { + core.exportVariable(envVarName, extraPath + currentPath); + } +} + /** Convert versions like `3.8-dev` to a version like `~3.8.0-0`. */ function desugarDevVersion(versionSpec: string) { const devVersion = /^(\d+)\.(\d+)-dev$/;