42 lines
1.5 KiB
Plaintext
42 lines
1.5 KiB
Plaintext
|
#
|
||
|
# GNU Toolchain
|
||
|
#
|
||
|
# Version extension on binaries - GNU specific
|
||
|
|
||
|
# Use an init function to set these globally. This gets us around the arbitrary
|
||
|
# recursion limit of 16 in RPM.
|
||
|
%hpc_gnu_init(v:) \
|
||
|
%{-v: %define _cf_ver %{-v*}} \
|
||
|
%{echo: hpc_gnu_init %{?_cf_ver:version: %_cf_ver}} \
|
||
|
%{expand: %%global hpc_gnu_bin_version %{?_cf_ver:-%(\\\
|
||
|
v=%_cf_ver; [ $v -lt 40 ] && echo $v || \\\
|
||
|
sed -e "s@\\([0-9]\\)@\\1.@g" \\\
|
||
|
-e "s@\\([0-9]\\)\\.\\$@\\1@g" <<< $v)}%{!?_cf_ver:%%{nil}}} \
|
||
|
%{expand: %%global hpc_gnu_full_version %(\\\
|
||
|
gcc%{hpc_gnu_bin_version} --version |\\\
|
||
|
head -1 |\\\
|
||
|
sed -e "s#.* \\([0-9]\\+\\.[0-9.]\\+\\)\\(\$\\| .*\\)#\\1#")}\
|
||
|
%{expand: %%global hpc_gnu_dep_version %(\\\
|
||
|
FULL_VERSION=%hpc_gnu_full_version; \\\
|
||
|
[ ${FULL_VERSION%%%%.*} -lt 5 ] && \\\
|
||
|
echo ${FULL_VERSION%%.*} || \\\
|
||
|
echo ${FULL_VERSION%%%%.*})} \
|
||
|
%{expand: %%global hpc_gnu_pack_version %{?_cf_ver}%{!?_cf_ver:%%{nil}}} \
|
||
|
%{expand: %%global hpc_gnu_dir gnu%{hpc_gnu_dep_version}} \
|
||
|
%{expand: %%global _hpc_gnu_module gnu/%hpc_gnu_dep_version}
|
||
|
|
||
|
%hpc_setup_gnu \
|
||
|
export CC=gcc%{hpc_gnu_bin_version} \
|
||
|
export CXX=g++%{hpc_gnu_bin_version} \
|
||
|
export FC=gfortran%{hpc_gnu_bin_version} \
|
||
|
export F77=gfortran%{hpc_gnu_bin_version} \
|
||
|
module load gnu/%hpc_gnu_dep_version
|
||
|
|
||
|
# Requires:
|
||
|
%hpc_gnu_requires \
|
||
|
Requires: gnu%{?hpc_cf_pack_version}-compilers-hpc
|
||
|
|
||
|
%hpc_gnu_requires_devel \
|
||
|
Requires: gnu%{?hpc_cf_pack_version}-compilers-hpc-devel
|
||
|
|