Accepting request 106990 from home:scorot
OBS-URL: https://build.opensuse.org/request/show/106990 OBS-URL: https://build.opensuse.org/package/show/science/openblas?expand=0&rev=1
This commit is contained in:
commit
9fd09ec0f5
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
## Default LFS
|
||||||
|
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.png filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zst filter=lfs diff=lfs merge=lfs -text
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
.osc
|
12
c_xerbla_no-void-return.patch
Normal file
12
c_xerbla_no-void-return.patch
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
diff -ur GotoBLAS2-orig/ctest/c_xerbla.c GotoBLAS2/ctest/c_xerbla.c
|
||||||
|
--- GotoBLAS2-orig/ctest/c_xerbla.c 2009-09-10 23:52:13.000000000 +0200
|
||||||
|
+++ GotoBLAS2/ctest/c_xerbla.c 2010-11-26 23:37:45.000000000 +0100
|
||||||
|
@@ -131,7 +131,7 @@
|
||||||
|
int BLASFUNC(xerbla)(char *name, blasint *info, blasint length) {
|
||||||
|
|
||||||
|
F77_xerbla(name, info);
|
||||||
|
-
|
||||||
|
+ return 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
3
lapack-3.1.1.tgz
Normal file
3
lapack-3.1.1.tgz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:e4c335b30b4394f9620d60818319ff12af2aea63827515e9f7e62b88dff7a02a
|
||||||
|
size 10407595
|
25
openblas-0.1-soname.patch
Normal file
25
openblas-0.1-soname.patch
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
diff -ruN xianyi-OpenBLAS-92ba8a7-orig/exports/Makefile xianyi-OpenBLAS-92ba8a7/exports/Makefile
|
||||||
|
--- xianyi-OpenBLAS-92ba8a7-orig/exports/Makefile 2011-09-18 10:57:28.000000000 +0200
|
||||||
|
+++ xianyi-OpenBLAS-92ba8a7/exports/Makefile 2011-11-01 00:37:52.193277838 +0100
|
||||||
|
@@ -97,8 +97,21 @@
|
||||||
|
|
||||||
|
so : ../$(LIBSONAME)
|
||||||
|
|
||||||
|
+
|
||||||
|
+ifeq ($(USE_OPENMP), 1)
|
||||||
|
+SONAME = libopenblaso.so.0
|
||||||
|
+else
|
||||||
|
+ifeq ($(USE_THREAD), 1)
|
||||||
|
+SONAME = libopenblasp.so.0
|
||||||
|
+else
|
||||||
|
+SONAME = libopenblas.so.0
|
||||||
|
+endif
|
||||||
|
+endif
|
||||||
|
+
|
||||||
|
../$(LIBSONAME) : ../$(LIBNAME) linux.def linktest.c
|
||||||
|
$(CC) $(CFLAGS) -shared -o ../$(LIBSONAME) \
|
||||||
|
+ -Wl,-z,noexecstack \
|
||||||
|
+ -Wl,-soname,$(SONAME) \
|
||||||
|
-Wl,--whole-archive ../$(LIBNAME) -Wl,--no-whole-archive \
|
||||||
|
-Wl,--retain-symbols-file=linux.def $(EXTRALIB)
|
||||||
|
$(CC) $(CFLAGS) -w -o linktest linktest.c ../$(LIBSONAME) $(FEXTRALIB) && echo OK.
|
21
openblas-libs.patch
Normal file
21
openblas-libs.patch
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
diff -up xianyi-OpenBLAS-92ba8a7/exports/Makefile.orig xianyi-OpenBLAS-92ba8a7/exports/Makefile
|
||||||
|
--- xianyi-OpenBLAS-92ba8a7/exports/Makefile.orig 2011-09-18 11:57:28.000000000 +0300
|
||||||
|
+++ xianyi-OpenBLAS-92ba8a7/exports/Makefile 2011-09-18 18:12:39.348157211 +0300
|
||||||
|
@@ -10,17 +10,9 @@ ifndef NO_CBLAS
|
||||||
|
NO_CBLAS = 0
|
||||||
|
endif
|
||||||
|
|
||||||
|
-ifeq ($(OSNAME), WINNT)
|
||||||
|
ifeq ($(F_COMPILER), GFORTRAN)
|
||||||
|
EXTRALIB += -lgfortran
|
||||||
|
endif
|
||||||
|
-endif
|
||||||
|
-
|
||||||
|
-ifeq ($(OSNAME), CYGWIN_NT)
|
||||||
|
-ifeq ($(F_COMPILER), GFORTRAN)
|
||||||
|
-EXTRALIB += -lgfortran
|
||||||
|
-endif
|
||||||
|
-endif
|
||||||
|
|
||||||
|
all::
|
||||||
|
|
216
openblas.spec
Normal file
216
openblas.spec
Normal file
@ -0,0 +1,216 @@
|
|||||||
|
%define alpha 2.4
|
||||||
|
|
||||||
|
Name: openblas
|
||||||
|
Version: 0.1.alpha2.4
|
||||||
|
Release: 0
|
||||||
|
Summary: An optimized BLAS library based on GotoBLAS2
|
||||||
|
Group: System/Libraries
|
||||||
|
License: BSD
|
||||||
|
URL: https://github.com/xianyi/OpenBLAS/
|
||||||
|
# Tarball gotten from
|
||||||
|
# https://github.com/xianyi/OpenBLAS/tarball/v%{version}alpha%{alpha}
|
||||||
|
Source0: xianyi-OpenBLAS-v0.1alpha2.4-0-gfe7a932.tar.gz
|
||||||
|
# LAPACK
|
||||||
|
Source1: http://www.netlib.org/lapack/lapack-3.1.1.tgz
|
||||||
|
# Link against libgfortran
|
||||||
|
Patch0: openblas-libs.patch
|
||||||
|
Patch1: c_xerbla_no-void-return.patch
|
||||||
|
Patch2: openblas-0.1-soname.patch
|
||||||
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
|
||||||
|
BuildRequires: gcc-fortran
|
||||||
|
# For execstack
|
||||||
|
# BuildRequires: prelink
|
||||||
|
|
||||||
|
%description
|
||||||
|
OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version. The
|
||||||
|
project is supported by the Lab of Parallel Software and Computational Science,
|
||||||
|
ISCAS. http://www.rdcps.ac.cn
|
||||||
|
|
||||||
|
%package -n libopenblas0
|
||||||
|
Summary: An optimized BLAS library based on GotoBLAS2, serial version
|
||||||
|
Group: System/Libraries
|
||||||
|
|
||||||
|
%description -n libopenblas0
|
||||||
|
OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version. The
|
||||||
|
project is supported by the Lab of Parallel Software and Computational Science,
|
||||||
|
ISCAS. http://www.rdcps.ac.cn
|
||||||
|
|
||||||
|
|
||||||
|
%package -n libopenblaso0
|
||||||
|
Summary: An optimized BLAS library based on GotoBLAS2, OpenMP version
|
||||||
|
Group: System/Libraries
|
||||||
|
|
||||||
|
%description -n libopenblaso0
|
||||||
|
OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version. The
|
||||||
|
project is supported by the Lab of Parallel Software and Computational Science,
|
||||||
|
ISCAS. http://www.rdcps.ac.cn
|
||||||
|
|
||||||
|
This package contains the library compiled with OpenMP support.
|
||||||
|
|
||||||
|
%package -n libopenblasp0
|
||||||
|
Summary: An optimized BLAS library based on GotoBLAS2, pthreads version
|
||||||
|
Group: System/Libraries
|
||||||
|
|
||||||
|
%description -n libopenblasp0
|
||||||
|
OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version. The
|
||||||
|
project is supported by the Lab of Parallel Software and Computational Science,
|
||||||
|
ISCAS. http://www.rdcps.ac.cn
|
||||||
|
|
||||||
|
This package contains the library compiled with threading support.
|
||||||
|
|
||||||
|
%package devel
|
||||||
|
Summary: Development headers and libraries for OpenBLAS
|
||||||
|
Group: Development/Libraries/C and C++
|
||||||
|
Requires: lib%{name}0 = %{version}-%{release}
|
||||||
|
Requires: lib%{name}o0 = %{version}-%{release}
|
||||||
|
Requires: lib%{name}p0 = %{version}-%{release}
|
||||||
|
|
||||||
|
%description devel
|
||||||
|
OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version. The
|
||||||
|
project is supported by the Lab of Parallel Software and Computational Science,
|
||||||
|
ISCAS. http://www.rdcps.ac.cn
|
||||||
|
|
||||||
|
This package contains the development headers and libraries.
|
||||||
|
|
||||||
|
%package devel-static
|
||||||
|
Summary: Static version of OpenBLAS
|
||||||
|
Group: Development/Libraries/C and C++
|
||||||
|
Requires: %{name}-devel = %{version}-%{release}
|
||||||
|
|
||||||
|
%description devel-static
|
||||||
|
OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version. The
|
||||||
|
project is supported by the Lab of Parallel Software and Computational Science,
|
||||||
|
ISCAS. http://www.rdcps.ac.cn
|
||||||
|
|
||||||
|
This package contains the static libraries.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup -q -c -T
|
||||||
|
|
||||||
|
# Untar source
|
||||||
|
tar zxf %{SOURCE0}
|
||||||
|
mv xianyi-OpenBLAS-*/ xianyi-OpenBLAS
|
||||||
|
cd xianyi-OpenBLAS
|
||||||
|
%patch0 -p1
|
||||||
|
%patch1 -p1
|
||||||
|
%patch2 -p1
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
# Make serial, threaded and OpenMP versions
|
||||||
|
cp -ar xianyi-OpenBLAS openmp
|
||||||
|
cp -ar xianyi-OpenBLAS threaded
|
||||||
|
mv xianyi-OpenBLAS serial
|
||||||
|
|
||||||
|
# Copy LAPACK sources
|
||||||
|
for dir in openmp threaded serial; do
|
||||||
|
cp %{SOURCE1} $dir
|
||||||
|
done
|
||||||
|
|
||||||
|
%build
|
||||||
|
make -C serial DYNAMIC_ARCH=1 USE_THREAD=0 USE_OPENMP=0 \
|
||||||
|
FC=gfortran CC=gcc COMMON_OPT="%{optflags}" NUM_THREADS=32
|
||||||
|
make -C openmp DYNAMIC_ARCH=1 USE_THREAD=0 USE_OPENMP=1 \
|
||||||
|
FC=gfortran CC=gcc COMMON_OPT="%{optflags}" NUM_THREADS=32
|
||||||
|
make -C threaded DYNAMIC_ARCH=1 USE_THREAD=1 USE_OPENMP=0 \
|
||||||
|
FC=gfortran CC=gcc COMMON_OPT="%{optflags}" NUM_THREADS=32
|
||||||
|
|
||||||
|
%install
|
||||||
|
rm -rf %{buildroot}
|
||||||
|
# Install serial library and headers
|
||||||
|
make -C serial USE_THREAD=0 PREFIX=%{buildroot}%{_usr} install
|
||||||
|
|
||||||
|
# Move include files to package specific directory, so that they don't clash with reference BLAS and LAPACK
|
||||||
|
mkdir %{buildroot}%{_includedir}/%{name}
|
||||||
|
mv %{buildroot}%{_includedir}/*.h %{buildroot}%{_includedir}/%{name}
|
||||||
|
|
||||||
|
# Put libraries in correct location
|
||||||
|
mkdir -p %{buildroot}%{_libdir}
|
||||||
|
%ifarch x86_64
|
||||||
|
mv %{buildroot}/usr/lib/libopen* %{buildroot}%{_libdir}
|
||||||
|
%endif
|
||||||
|
slibname=`basename %{buildroot}%{_libdir}/libopenblas-*.so .so`
|
||||||
|
|
||||||
|
# Fix name library
|
||||||
|
mv %{buildroot}%{_libdir}/${slibname}.so %{buildroot}%{_libdir}/lib%{name}.so.0
|
||||||
|
mv %{buildroot}%{_libdir}/${slibname}.a %{buildroot}%{_libdir}/lib%{name}.a
|
||||||
|
|
||||||
|
# Install the OpenMP library
|
||||||
|
# olibname=`echo ${slibname} | sed "s|lib%{name}|lib%{name}o|g"`
|
||||||
|
install -D -p -m 755 openmp/${slibname}.so %{buildroot}%{_libdir}/lib%{name}o.so.0
|
||||||
|
install -D -p -m 644 openmp/${slibname}.a %{buildroot}%{_libdir}/lib%{name}o.a
|
||||||
|
|
||||||
|
# Install the threaded library
|
||||||
|
plibname=`echo ${slibname} | sed "s|lib%{name}|lib%{name}p|g"`
|
||||||
|
install -D -p -m 755 threaded/${plibname}.so %{buildroot}%{_libdir}/lib%{name}p.so.0
|
||||||
|
install -D -p -m 644 threaded/${plibname}.a %{buildroot}%{_libdir}/lib%{name}p.a
|
||||||
|
|
||||||
|
# Fix source permissions (also applies to LAPACK)
|
||||||
|
find -name \*.f -exec chmod 644 {} \;
|
||||||
|
|
||||||
|
# Fix symlinks
|
||||||
|
pushd %{buildroot}%{_libdir}
|
||||||
|
# Serial libraries
|
||||||
|
ln -sf lib%{name}.so.0 lib%{name}.so
|
||||||
|
# OpenMP libraries
|
||||||
|
ln -sf lib%{name}o.so.0 lib%{name}o.so
|
||||||
|
# Threaded libraries
|
||||||
|
ln -sf lib%{name}p.so.0 lib%{name}p.so
|
||||||
|
|
||||||
|
# Get rid of executable stacks
|
||||||
|
# for lib in %{buildroot}%{_libdir}/libopenblas{,o,p}-*.so; do
|
||||||
|
# execstack -c $lib
|
||||||
|
# done
|
||||||
|
|
||||||
|
%post -n libopenblas0 -p /sbin/ldconfig
|
||||||
|
%postun -n libopenblas0 -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%post -n libopenblaso0 -p /sbin/ldconfig
|
||||||
|
%postun -n libopenblaso0 -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%post -n libopenblasp0 -p /sbin/ldconfig
|
||||||
|
%postun -n libopenblasp0 -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%clean
|
||||||
|
rm -rf %{buildroot}
|
||||||
|
|
||||||
|
%files -n libopenblas0
|
||||||
|
%defattr(-,root,root,-)
|
||||||
|
%doc serial/Changelog.txt serial/GotoBLAS* serial/LICENSE serial/README
|
||||||
|
%{_libdir}/lib%{name}.so.0
|
||||||
|
|
||||||
|
%files -n libopenblaso0
|
||||||
|
%defattr(-,root,root,-)
|
||||||
|
%{_libdir}/lib%{name}o.so.0
|
||||||
|
|
||||||
|
|
||||||
|
%files -n libopenblasp0
|
||||||
|
%defattr(-,root,root,-)
|
||||||
|
%{_libdir}/lib%{name}p.so.0
|
||||||
|
|
||||||
|
%files devel
|
||||||
|
%defattr(-,root,root,-)
|
||||||
|
%{_includedir}/%{name}
|
||||||
|
%{_libdir}/lib%{name}.so
|
||||||
|
%{_libdir}/lib%{name}o.so
|
||||||
|
%{_libdir}/lib%{name}p.so
|
||||||
|
|
||||||
|
%files devel-static
|
||||||
|
%defattr(-,root,root,-)
|
||||||
|
%{_libdir}/lib%{name}.a
|
||||||
|
%{_libdir}/lib%{name}o.a
|
||||||
|
%{_libdir}/lib%{name}p.a
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Thu Nov 13 2011 scorot@gtt.fr
|
||||||
|
- fix symlink target of the serial version library
|
||||||
|
* Thu Nov 03 2011 scorot@gtt.fr
|
||||||
|
- fix description of libopenblas0 package
|
||||||
|
- fix devel package requirements
|
||||||
|
* Wed Nov 02 2011 scorot@gtt.fr
|
||||||
|
- rename library packages to suit the shared libs package name policy
|
||||||
|
* Tue Nov 01 2011 scorot@gtt.fr
|
||||||
|
- add patch in order to fix soname and executable stack rpmlint warning
|
||||||
|
* Mon Oct 31 2011 scorot@gtt.fr
|
||||||
|
- initial package based on spec file made by Jussi Lehtola for fedora
|
||||||
|
- add patch1 in order to fix return-in-non-void-function
|
3
xianyi-OpenBLAS-v0.1alpha2.4-0-gfe7a932.tar.gz
Normal file
3
xianyi-OpenBLAS-v0.1alpha2.4-0-gfe7a932.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:95e0beab5cede658c075e32ec7ad10fa7e1c4cbdf69b03743e54bd67e27766c7
|
||||||
|
size 3077836
|
Loading…
x
Reference in New Issue
Block a user