diff --git a/.gitignore b/.gitignore index dda068e..311e289 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ /blis-0.5.0.tar.gz /blis-0.5.1.tar.gz /blis-0.6.0.tar.gz +/blis-0.7.0.tar.gz diff --git a/blis.spec b/blis.spec index cd284c8..87878a5 100644 --- a/blis.spec +++ b/blis.spec @@ -5,13 +5,13 @@ %bcond_with fulltest # We need to manipulate the built *.so.%%sover -%global sover .2.0.0 +%global sover .2.1.0 %global soshort .2 %if 0%{?el6}%{?el7} # Use devtoolset for avx512 support %ifnarch ppc64le ppc64 -%global dts6 1 +%global dts 9 %endif %endif @@ -19,8 +19,8 @@ %undefine _ld_as_needed Name: blis -Version: 0.6.0 -Release: 5%{?dist} +Version: 0.7.0 +Release: 1%{?dist} Summary: BLAS-like Library Instantiation Software Framework License: BSD URL: https://github.com/flame/blis @@ -29,18 +29,14 @@ Source0: https://github.com/flame/blis/archive/%commit/%name-%shortcommit.tar.gz %else Source0: https://github.com/flame/blis/archive/%version/%name-%version.tar.gz %endif -# Don't stop the simd pragma generating FMA -Patch1: blis-Use-funsafe-math-optimizations-and-ffp-contract-fast.patch -# Don't use popen on arm (possible security issue) -Patch2: blis-Reimplemented-bli_cpuid_query-for-ARM.patch BuildRequires: perl -BuildRequires: %{?dts6:devtoolset-8-binutils devtoolset-8-}gcc +BuildRequires: %{?dts:devtoolset-%{?dts}-binutils devtoolset-%{?dts}-}gcc BuildRequires: /usr/bin/python3 gcc-gfortran chrpath -# memkind is currently only relevant for KNL, but might be relevant in -# future for other targets with HBM. The latest version also has -# ppc64le support, but that's not in Fedora. -%ifarch x86_64 -%{!?el6:BuildRequires: memkind-devel} +# memkind is currently only relevant for KNL as far as I know, but +# might be relevant in future for other targets with HBM. It needs +# updating i el7, and building for el8. +%ifarch %{?el7:x86_64} %{?fedora:x86_64 ppc64le s390x} +BuildRequires: memkind-devel %endif %global desc \ @@ -129,11 +125,15 @@ BLIS architecture macros. %prep %setup -q %{?commit: -n %name-%commit} -%patch1 -p1 +# The soversion changed in release 0.7.0, but abipkgdiff suggests it +# shouldn't have, since only undocumented interfaces have changed from +# 0.6.0: removed bli_thread_get_env, bli_thread_init_rntm; indirect +# sub-types in bli_addd_ex; ARCH enum in bli_arch_query_id. +echo %sover | awk -F. '{printf("%s\n%s.%s\n", $2,$3,$4)}' >so_version %build -%{?dts6:. /opt/rh/devtoolset-8/enable} +%{?dts:. /opt/rh/devtoolset-%{?dts}/enable} case %_arch in x86_64) arch=x86_64 ;; # a57 runs on all aarch64 and the optimized micro-kernel should be a @@ -199,7 +199,7 @@ for d in 64 o64 p64; do ln -s libblis$d.so%sover libblis$d.so%soshort rm -f libblis.* cd ../.. - cc -shared -Wl,-soname=libblas64.so.3 -L$(pwd)/$d/lib -lblis$d -o blisblas$d/libblas64.so.3 $LDFLAGS + cc -shared -Wl,-soname=libblas64.so%soshort -L$(pwd)/$d/lib -lblis$d -o blisblas$d/libblas64.so.3 $LDFLAGS ln -s libblas64.so.3 blisblas$d/libblas64.so done @@ -255,7 +255,7 @@ potential advantage generally, but it isn't currently used by any Fedora packages. There are shared library shims in %_libdir/blisblas* for each version -that provide sonames libblas.so.3 or libblas64.so.3 and so may be +that provide sonames libblas.so.3 or libblas64.so%soshort and so may be linked dynamically instead of the reference libblas. You can use an ldconfig file so that this will be done automatically if the blis or blis64 packages are installed, which will usually be a lot faster than @@ -287,7 +287,7 @@ EOF %check -%{?dts6:. /opt/rh/devtoolset-8/enable} +%{?dts:. /opt/rh/devtoolset-%{?dts}/enable} # A quick check which tests the Fortran BLAS interface with gfortran, # unlike the "test" or "check" targets. # Fixme: check a 64-bit version where relevant @@ -377,6 +377,11 @@ export LD_LIBRARY_PATH=`pwd`/serial/lib %{macrosdir}/macros.blis-srpm %changelog +* Wed May 20 2020 Dave Love - 0.7.0-1 +- New version +- Drop patch +- Maybe use devtoolset-9 + * Sun Mar 15 2020 Dave love - 0.6.0-5 - Use cortexa9 config on arm32, rather than generic diff --git a/sources b/sources index ddfc42e..4604412 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (blis-0.6.0.tar.gz) = 74e9da5146f7986cbd11651d7cd0837562a1603c667b9e6d3f79b5057443de657b60d7463cb2d64daf3eff7d33fc05a64e6d8eb807f4cabe0c3121517924a206 +SHA512 (blis-0.7.0.tar.gz) = 5058cf20a0acc461098802a7764fdbe5ef3197bbcd255d9616397721fc7b71202f6400b03865d3763fa1eecb155b2a9b7af7cb843353277d75fdfb4997fa4879