2.9. Commonly Used Path Redefinitions

This section lists environment variables commonly used to redefine paths in the enable scriptlet to set up the Software Collection environment. They are also used to specify the location of the Software Collection components in the Software Collection file system hierarchy.
Whether you need to specify a path redefinition in the enable scriptlet depends on the packages you choose to include in your Software Collection. The environment variables normally follow this pattern:
$ENV_VAR=$SCL_ENV_VAR:$ENV_VAR

2.9.1. Language-specific Path Redefinitions

GEM_PATH
The GEM_PATH environment variable specifies the location of Ruby gems. As such, it is also used in those Software Collections that extend the rh-ruby23 Software Collection. For more information, see Section 4.3, “Extending the rh-ruby23 Software Collection”.
Include the following in the enable scriptlet to redefine the environment variable:
export GEM_PATH="\${GEM_PATH:=%{gem_dir}:\`scl enable %{scl_ruby} -- ruby -e "print Gem.path.join(':')"\`}"
GOPATH
The GOPATH environment variable specifies the location of Go source and binary files. Include the following in the enable scriptlet to redefine the environment variable:
export GOPATH="%{gopath}\${GOPATH:+:\${GOPATH}}"
JAVACONFDIRS
The JAVACONFDIRS environment variable is used to specify the location of the java.conf configuration file. Include the following in the enable scriptlet to redefine the environment variable:
export JAVACONFDIRS="%{_sysconfdir}/java\${JAVACONFDIRS:+:}\${JAVACONFDIRS:-}"
PERL5LIB
The PERL5LIB environment variable is used to specify the location of custom Perl modules so that they can be installed with the %{?_scl_root} prefix. Include the following in the enable scriptlet to redefine the environment variable:
export PERL5LIB="%{_scl_root}%{perl_vendorlib}\${PERL5LIB:+:\${PERL5LIB}}"
PYTHONPATH
The PYTHONPATH environment variable specifies the location of custom Python libraries. Include the following in the enable scriptlet to redefine the environment variable:
export PYTHONPATH="%{_scl_root}%{python_sitearch}:%{_scl_root}%{python_sitelib}\${PYTHONPATH:+:}\${PYTHONPATH:-}"

2.9.2. Other Path Redefinitions

CPATH
The CPATH environment variable specifies include paths for the GCC compiler to use. Include the following in the enable scriptlet to redefine the environment variable:
export CPATH="%{_includedir}\${CPATH:+:\${CPATH}}"
INFOPATH
The INFOPATH environment variable specifies directories that contain Info files. Include the following in the enable scriptlet to redefine the environment variable:
export INFOPATH="%{_infodir}\${INFOPATH:+:\${INFOPATH}}"
LD_LIBRARY_PATH
The LD_LIBRARY_PATH environment variable specifies the location of libraries. For more information, see Section 3.5, “Software Collection Library Support”.
Include the following in the enable scriptlet to redefine the environment variable:
export LD_LIBRARY_PATH="%{_libdir}\${LD_LIBRARY_PATH:+:\${LD_LIBRARY_PATH}}"
LIBRARY_PATH
The LIBRARY_PATH environment variable specifies the location of special linker files or ordinary libraries for GCC to use. Include the following in the enable scriptlet to redefine the environment variable:
export LIBRARY_PATH="%{_libdir}\${LIBRARY_PATH:+:\${LIBRARY_PATH}}"
MANPATH
The MANPATH environment variable specifies the location of man pages. For more information, see Section 3.7, “Software Collection MANPATH Support”.
Include the following in the enable scriptlet to redefine the environment variable:
export MANPATH="%{_mandir}:\${MANPATH:-}"
PATH
The PATH environment variable specifies the location of binary files. Include the following in the enable scriptlet to redefine the environment variable:
export PATH="%{_bindir}:%{_sbindir}\${PATH:+:\${PATH}}"
PCP_DIR
The PCP_DIR environment variable specifies the location of files and directories used by PCP. Include the following in the enable scriptlet to redefine the environment variable:
export PCP_DIR="%{_scl_root}"
PKG_CONFIG_PATH
The PKG_CONFIG_PATH environment variable specifies the location of .pc files used by the pkg-config program. For more information, see Section 3.6, “Software Collection .pc Files Support”.
Include the following in the enable scriptlet to redefine the environment variable:
export PKG_CONFIG_PATH="%{_libdir}/pkgconfig\${PKG_CONFIG_PATH:+:\${PKG_CONFIG_PATH}}"
XDG_CONFIG_DIRS
The XDG_CONFIG_DIRS environment variable specifies the location of desktop configuration files according to the freedesktop.org specification. Include the following in the enable scriptlet to redefine the environment variable:
export XDG_CONFIG_DIRS="%{_sysconfdir}/xdg:\${XDG_CONFIG_DIRS:-/etc/xdg}"
XDG_DATA_DIRS
The XDG_DATA_DIRS environment variable specifies the location of desktop data files according to the freedesktop.org specification. It is used in some Software Collections to locate the Software Collection-specific scripts or to enable bash completion.
Include the following in the enable scriptlet to redefine the environment variable:
export XDG_DATA_DIRS="%{_datadir}:\${XDG_DATA_DIRS:-/usr/local/share:%{_root_datadir}}"