[arch-commits] Commit in (7 files)

Ronald van Haren ronald at archlinux.org
Sat Jul 9 17:32:58 EDT 2011


    Date: Saturday, July 9, 2011 @ 17:32:58
  Author: ronald
Revision: 131044

add blas as a separate package

Added:
  blas/
  blas/repos/
  blas/trunk/
  blas/trunk/LICENSE.blas
  blas/trunk/Makefile.blas
  blas/trunk/PKGBUILD
  blas/trunk/lapack-3.1.1-make.inc.patch

-----------------------------+
 LICENSE.blas                |   19 +++++
 Makefile.blas               |  148 ++++++++++++++++++++++++++++++++++++++++++
 PKGBUILD                    |   55 +++++++++++++++
 lapack-3.1.1-make.inc.patch |   23 ++++++
 4 files changed, 245 insertions(+)

Added: blas/trunk/LICENSE.blas
===================================================================
--- blas/trunk/LICENSE.blas	                        (rev 0)
+++ blas/trunk/LICENSE.blas	2011-07-09 21:32:58 UTC (rev 131044)
@@ -0,0 +1,19 @@
+From: http://www.netlib.org/blas/faq.html
+
+ 2) Are there legal restrictions on the use of BLAS reference
+    implementation software? 
+
+The reference BLAS is a freely-available software package. It is
+available from netlib via anonymous ftp and the World Wide Web. Thus,
+it can be included in commercial software packages (and has been). We
+only ask that proper credit be given to the authors. 
+
+Like all software, it is copyrighted. It is not trademarked, but we do
+ask the following: 
+
+If you modify the source for these routines we ask that you change the
+name of the routine and comment the changes made to the original. 
+
+We will gladly answer any questions regarding the software. If a
+modification is done, however, it is the responsibility of the person
+who modified the routine to provide support. 

Added: blas/trunk/Makefile.blas
===================================================================
--- blas/trunk/Makefile.blas	                        (rev 0)
+++ blas/trunk/Makefile.blas	2011-07-09 21:32:58 UTC (rev 131044)
@@ -0,0 +1,148 @@
+include ../../make.inc
+
+#######################################################################
+#  This is the makefile to create a library for the BLAS.
+#  The files are grouped as follows:
+#
+#       SBLAS1 -- Single precision real BLAS routines
+#       CBLAS1 -- Single precision complex BLAS routines
+#       DBLAS1 -- Double precision real BLAS routines
+#       ZBLAS1 -- Double precision complex BLAS routines
+#
+#       CB1AUX -- Real BLAS routines called by complex routines
+#       ZB1AUX -- D.P. real BLAS routines called by d.p. complex
+#                 routines
+#
+#      ALLBLAS -- Auxiliary routines for Level 2 and 3 BLAS
+#
+#       SBLAS2 -- Single precision real BLAS2 routines
+#       CBLAS2 -- Single precision complex BLAS2 routines
+#       DBLAS2 -- Double precision real BLAS2 routines
+#       ZBLAS2 -- Double precision complex BLAS2 routines
+#
+#       SBLAS3 -- Single precision real BLAS3 routines
+#       CBLAS3 -- Single precision complex BLAS3 routines
+#       DBLAS3 -- Double precision real BLAS3 routines
+#       ZBLAS3 -- Double precision complex BLAS3 routines
+#
+#  The library can be set up to include routines for any combination
+#  of the four precisions.  To create or add to the library, enter make
+#  followed by one or more of the precisions desired.  Some examples:
+#       make single
+#       make single complex
+#       make single double complex complex16
+#  Note that these commands are not safe for parallel builds.
+#
+#  Alternatively, the commands
+#       make all
+#  or
+#       make
+#  without any arguments creates a library of all four precisions.
+#  The name of the library is held in BLASLIB, which is set in the
+#  top-level make.inc
+#
+#  To remove the object files after the library is created, enter
+#       make clean
+#  To force the source files to be recompiled, enter, for example,
+#       make single FRC=FRC
+#
+#---------------------------------------------------------------------
+#
+#  Edward Anderson, University of Tennessee
+#  March 26, 1990
+#  Susan Ostrouchov, Last updated September 30, 1994
+#  ejr, May 2006.
+#
+#######################################################################
+
+all: $(BLASLIB)
+ 
+#---------------------------------------------------------
+#  Comment out the next 6 definitions if you already have
+#  the Level 1 BLAS.
+#---------------------------------------------------------
+SBLAS1 = isamax.o sasum.o saxpy.o scopy.o sdot.o snrm2.o \
+	srot.o srotg.o sscal.o sswap.o sdsdot.o srotmg.o srotm.o
+$(SBLAS1): $(FRC)
+
+CBLAS1 = scabs1.o scasum.o scnrm2.o icamax.o caxpy.o ccopy.o \
+	cdotc.o cdotu.o csscal.o crotg.o cscal.o cswap.o csrot.o
+$(CBLAS1): $(FRC)
+
+DBLAS1 = idamax.o dasum.o daxpy.o dcopy.o ddot.o dnrm2.o \
+	drot.o drotg.o dscal.o dsdot.o dswap.o drotmg.o drotm.o
+$(DBLAS1): $(FRC)
+
+ZBLAS1 = dcabs1.o dzasum.o dznrm2.o izamax.o zaxpy.o zcopy.o \
+	zdotc.o zdotu.o zdscal.o zrotg.o zscal.o zswap.o zdrot.o
+$(ZBLAS1): $(FRC)
+
+CB1AUX = isamax.o sasum.o saxpy.o scopy.o snrm2.o sscal.o
+$(CB1AUX): $(FRC)
+
+ZB1AUX = idamax.o dasum.o daxpy.o dcopy.o dnrm2.o dscal.o
+$(ZB1AUX): $(FRC)
+
+#---------------------------------------------------------------------
+#  The following line defines auxiliary routines needed by both the
+#  Level 2 and Level 3 BLAS.  Comment it out only if you already have
+#  both the Level 2 and 3 BLAS.
+#---------------------------------------------------------------------
+ALLBLAS  = lsame.o xerbla.o xerbla_array.o
+$(ALLBLAS) : $(FRC)
+
+#---------------------------------------------------------
+#  Comment out the next 4 definitions if you already have
+#  the Level 2 BLAS.
+#---------------------------------------------------------
+SBLAS2 = sgemv.o sgbmv.o ssymv.o ssbmv.o sspmv.o \
+	strmv.o stbmv.o stpmv.o strsv.o stbsv.o stpsv.o \
+	sger.o ssyr.o sspr.o ssyr2.o sspr2.o
+$(SBLAS2): $(FRC)
+
+CBLAS2 = cgemv.o cgbmv.o chemv.o chbmv.o chpmv.o \
+	ctrmv.o ctbmv.o ctpmv.o ctrsv.o ctbsv.o ctpsv.o \
+	cgerc.o cgeru.o cher.o chpr.o cher2.o chpr2.o
+$(CBLAS2): $(FRC)
+
+DBLAS2 = dgemv.o dgbmv.o dsymv.o dsbmv.o dspmv.o \
+	dtrmv.o dtbmv.o dtpmv.o dtrsv.o dtbsv.o dtpsv.o \
+	dger.o dsyr.o dspr.o dsyr2.o dspr2.o
+$(DBLAS2): $(FRC)
+
+ZBLAS2 = zgemv.o zgbmv.o zhemv.o zhbmv.o zhpmv.o \
+	ztrmv.o ztbmv.o ztpmv.o ztrsv.o ztbsv.o ztpsv.o \
+	zgerc.o zgeru.o zher.o zhpr.o zher2.o zhpr2.o
+$(ZBLAS2): $(FRC)
+
+#---------------------------------------------------------
+#  Comment out the next 4 definitions if you already have
+#  the Level 3 BLAS.
+#---------------------------------------------------------
+SBLAS3 = sgemm.o ssymm.o ssyrk.o ssyr2k.o strmm.o strsm.o 
+$(SBLAS3): $(FRC)
+
+CBLAS3 = cgemm.o csymm.o csyrk.o csyr2k.o ctrmm.o ctrsm.o \
+	chemm.o cherk.o cher2k.o
+$(CBLAS3): $(FRC)
+
+DBLAS3 = dgemm.o dsymm.o dsyrk.o dsyr2k.o dtrmm.o dtrsm.o
+$(DBLAS3): $(FRC)
+
+ZBLAS3 = zgemm.o zsymm.o zsyrk.o zsyr2k.o ztrmm.o ztrsm.o \
+	zhemm.o zherk.o zher2k.o
+$(ZBLAS3): $(FRC)
+
+ALLOBJ=$(SBLAS1) $(SBLAS2) $(SBLAS3) $(DBLAS1) $(DBLAS2) $(DBLAS3)	\
+	$(CBLAS1) $(CBLAS2) $(CBLAS3) $(ZBLAS1) \
+	$(ZBLAS2) $(ZBLAS3) $(ALLBLAS)
+
+clean:
+	rm -f *.o libblas.a libblas.so*
+
+static: $(ALLOBJ)
+	ar ruv libblas.a $(ALLOBJ)
+	ranlib libblas.a
+
+shared: $(ALLOBJ)
+	cc $(CFLAGS) -shared -Wl,-soname,libblas.so.3 -o libblas.so.3.3.1 $(ALLOBJ) -lm -lgfortran -lc

Added: blas/trunk/PKGBUILD
===================================================================
--- blas/trunk/PKGBUILD	                        (rev 0)
+++ blas/trunk/PKGBUILD	2011-07-09 21:32:58 UTC (rev 131044)
@@ -0,0 +1,55 @@
+# $Id: PKGBUILD 130989 2011-07-09 12:22:58Z ronald $
+# Maintainer: Ronald van Haren <ronald.archlinux.org>
+# Contributor: Jan de Groot <jgc at archlinux.org>
+# Contributor: damir <damir at archlinux.org>
+# Contributor: Jason Taylor <jftaylor21 at gmail.com>
+
+pkgname=blas
+pkgver=3.3.1
+pkgrel=2
+url="http://www.netlib.org/blas"
+makedepends=('gcc-fortran' 'gcc-libs')
+pkgdesc="Basic Linear Algebra Subprograms"
+
+arch=('i686' 'x86_64')
+license=("custom")
+source=(http://www.netlib.org/lapack/lapack-${pkgver}.tgz
+        lapack-3.1.1-make.inc.patch
+        Makefile.blas
+        LICENSE.blas)
+sha1sums=('3ce437e05f0e9a3c8148ec41922f6efeef0ebdac'
+          '71bf7696f1c841339163e82d863dd62e484eb1cf'
+          '3dbee0a5e9a98a2ddf5a58046f5997804e9874ed'
+          '2491a151a37f0162b25fc4e4e9a8ac444b574a76')
+
+build() {
+  cd "${srcdir}/lapack-${pkgver}"
+  cp -f "${srcdir}/Makefile.blas" BLAS/SRC/Makefile 
+  patch -Np1 -i "${srcdir}/lapack-3.1.1-make.inc.patch"
+  cp -f INSTALL/make.inc.gfortran make.inc
+
+  export FC=gfortran
+
+  pushd BLAS/SRC
+  make clean
+  FFLAGS="${CFLAGS/-O?/-O0}" make dcabs1.o
+  FFLAGS="${CFLAGS} -fPIC" CFLAGS="${CFLAGS} -fPIC" make shared
+  cp libblas.so.${pkgver} "${srcdir}/lapack-${pkgver}/"
+
+  popd
+  ln -s libblas.so.${pkgver} libblas.so
+
+}
+
+package_blas() {
+  install -m755 -d "${pkgdir}/usr/lib"
+  install -m755 "${srcdir}/lapack-${pkgver}/libblas.so.${pkgver}" \
+    "${pkgdir}/usr/lib/"
+  ln -sf libblas.so.${pkgver} "${pkgdir}/usr/lib/libblas.so"
+  ln -sf libblas.so.${pkgver} "${pkgdir}/usr/lib/libblas.so.3"
+  
+  install -m755 -d "${pkgdir}/usr/share/licenses/blas"
+  install -m644 "${srcdir}/LICENSE.blas" \
+    "${pkgdir}/usr/share/licenses/blas/LICENSE"
+}
+


Property changes on: blas/trunk/PKGBUILD
___________________________________________________________________
Added: svn:executable
   + *

Added: blas/trunk/lapack-3.1.1-make.inc.patch
===================================================================
--- blas/trunk/lapack-3.1.1-make.inc.patch	                        (rev 0)
+++ blas/trunk/lapack-3.1.1-make.inc.patch	2011-07-09 21:32:58 UTC (rev 131044)
@@ -0,0 +1,23 @@
+--- lapack-3.1.1/INSTALL/make.inc.gfortran.BAD	2007-05-25 15:34:55.000000000 -0500
++++ lapack-3.1.1/INSTALL/make.inc.gfortran	2007-05-25 15:35:51.000000000 -0500
+@@ -8,7 +8,7 @@ SHELL = /bin/sh
+ #
+ #  The machine (platform) identifier to append to the library names
+ #
+-PLAT = _LINUX
++PLAT = 
+ #  
+ #  Modify the FORTRAN and OPTS definitions to refer to the
+ #  compiler and desired compiler options for your machine.  NOOPT
+@@ -17,9 +17,9 @@ PLAT = _LINUX
+ #  desired load options for your machine.
+ #
+ FORTRAN  = gfortran 
+-OPTS     = -O2
++#OPTS     = -O2
+ DRVOPTS  = $(OPTS)
+-NOOPT    = -O0
++NOOPT    = 
+ LOADER   = gfortran
+ LOADOPTS =
+ #



More information about the arch-commits mailing list