diff options
author | lmwang | 2015-06-28 17:48:30 -0700 |
---|---|---|
committer | lmwang | 2015-06-28 17:48:30 -0700 |
commit | ffc29539b25b1a3a211ce3f5c66b04f8705bf324 (patch) | |
tree | b4599fe0f3c255b639c95d4205379b936badf644 | |
download | aur-ffc29539b25b1a3a211ce3f5c66b04f8705bf324.tar.gz |
Initial import
-rw-r--r-- | .SRCINFO | 23 | ||||
-rwxr-xr-x | PKGBUILD | 98 | ||||
-rwxr-xr-x | site.cfg | 157 |
3 files changed, 278 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..16165bebd889 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,23 @@ +pkgbase = python-numpy-openblas + pkgdesc = Scientific tools for Python - built with openblas + pkgver = 1.9.2 + pkgrel = 1 + url = http://numpy.scipy.org/ + arch = i686 + arch = x86_64 + license = custom + source = http://downloads.sourceforge.net/numpy/numpy-1.9.2.tar.gz + source = site.cfg + md5sums = a1ed53432dbcd256398898d35bc8e645 + md5sums = 6f15bb8fe3d12faa8983a9e18bbea2a9 + +pkgname = python-numpy-openblas + depends = python + depends = openblas-lapack + optdepends = python-nose: testsuite + provides = python3-numpy=1.9.2 + provides = python-numpy=1.9.2 + conflicts = python3-numpy + conflicts = python-numpy + options = staticlibs + diff --git a/PKGBUILD b/PKGBUILD new file mode 100755 index 000000000000..947dc08a55f0 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,98 @@ +# Maintainer: xia0er <xia0er@gmail.com> +# Contributor: Xyne <xyne@archlinux.ca> +# Contributor: Jan de Groot <jgc@archlinux.org> +# Contributor: Douglas Soares de Andrade <dsa@aur.archlinux.org> +# Contributor: Angel "angvp" Velasquez <angvp[at]archlinux.com.ve> + +_pkgname=numpy +#pkgbase=python-numpy-openblas +#pkgname=("python2-numpy-openblas" "python-numpy-openblas") +pkgname=python-numpy-openblas +pkgver=1.9.2 +pkgrel=1 +pkgdesc="Scientific tools for Python - built with openblas" +arch=("i686" "x86_64") +license=("custom") +url="http://numpy.scipy.org/" +source=("http://downloads.sourceforge.net/numpy/numpy-${pkgver}.tar.gz" + site.cfg + ) + +md5sums=('a1ed53432dbcd256398898d35bc8e645' + '6f15bb8fe3d12faa8983a9e18bbea2a9') + +package() { + package_python-numpy-openblas +} + +package_python2-numpy-openblas() { + depends=("python2" "openblas-lapack") + options=('staticlibs') + makedepends=("python2-distribute" "gcc-fortran" "python2-nose") + optdepends=("python2-nose: testsuite") + provides=("python2-numpy=${pkgver}") + conflicts=("python2-numpy") + + export Atlas=None + export LDFLAGS="$LDFLAGS -shared" + + cd "${srcdir}" + cp -a "$_pkgname-$pkgver"{,-py2} + + echo "Building Python2" + cd "$_pkgname-$pkgver"-py2 + cp ${startdir}/site.cfg . + + python2 setup.py config_fc --fcompiler=gnu95 config + python2 setup.py config_fc --fcompiler=gnu95 build + + python2 setup.py config_fc --fcompiler=gnu95 install \ + --prefix=/usr --root="${pkgdir}" --optimize=1 + + install -m755 -d "${pkgdir}/usr/share/licenses/python2-numpy" + install -m644 LICENSE.txt "${pkgdir}/usr/share/licenses/python2-numpy/" + + install -m755 -d "${pkgdir}/usr/include/python${_pyver}" + ln -sf /usr/lib/python${_pyver}/site-packages/numpy/core/include/numpy "${pkgdir}/usr/include/python${_pyver}/numpy" + + sed -i -e "s|#![ ]*/usr/bin/python$|#!/usr/bin/python2|" \ + -e "s|#![ ]*/usr/bin/env python$|#!/usr/bin/env python2|" \ + -e "s|#![ ]*/bin/env python$|#!/usr/bin/env python2|" \ + $(find ${pkgdir} -name "*.py") +} + +package_python-numpy-openblas() { + depends=("python" "openblas-lapack") + options=('staticlibs') + makedepends=("python-distribute" "gcc-fortran" "python-nose") + optdepends=("python-nose: testsuite") + provides=("python3-numpy=${pkgver}" "python-numpy=${pkgver}") + conflicts=("python3-numpy" "python-numpy") + + _pyver=3.4 + _pyinc=3.4m + + export Atlas=None + export LDFLAGS="$LDFLAGS -shared" + + cd "$srcdir" + cp -a "$_pkgname-$pkgver"{,-py3} + + echo "Building Python3" + cd "$_pkgname-$pkgver"-py3 + cp ${startdir}/site.cfg . + + python2 setup.py config_fc --fcompiler=gnu95 config + python2 setup.py config_fc --fcompiler=gnu95 build + + python setup.py config_fc --fcompiler=gnu95 install \ + --prefix=/usr --root="${pkgdir}" --optimize=1 + + install -m755 -d "${pkgdir}/usr/share/licenses/python-numpy" + install -m644 LICENSE.txt "${pkgdir}/usr/share/licenses/python-numpy/" + + install -m755 -d "${pkgdir}/usr/include/python${_pyinc}" + ln -sf /usr/lib/python${_pyver}/site-packages/numpy/core/include/numpy "${pkgdir}/usr/include/python${_pyinc}/numpy" + +} + diff --git a/site.cfg b/site.cfg new file mode 100755 index 000000000000..effb46f1102f --- /dev/null +++ b/site.cfg @@ -0,0 +1,157 @@ +# This file provides configuration information about non-Python dependencies for +# numpy.distutils-using packages. Create a file like this called "site.cfg" next +# to your package's setup.py file and fill in the appropriate sections. Not all +# packages will use all sections so you should leave out sections that your +# package does not use. + +# To assist automatic installation like easy_install, the user's home directory +# will also be checked for the file ~/.numpy-site.cfg . + +# The format of the file is that of the standard library's ConfigParser module. +# +# http://www.python.org/doc/current/lib/module-ConfigParser.html +# +# Each section defines settings that apply to one particular dependency. Some of +# the settings are general and apply to nearly any section and are defined here. +# Settings specific to a particular section will be defined near their section. +# +# libraries +# Comma-separated list of library names to add to compile the extension +# with. Note that these should be just the names, not the filenames. For +# example, the file "libfoo.so" would become simply "foo". +# libraries = lapack,f77blas,cblas,atlas +# +# library_dirs +# List of directories to add to the library search path when compiling +# extensions with this dependency. Use the character given by os.pathsep +# to separate the items in the list. Note that this character is known to +# vary on some unix-like systems; if a colon does not work, try a comma. +# This also applies to include_dirs and src_dirs (see below). +# On UN*X-type systems (OS X, most BSD and Linux systems): +# library_dirs = /usr/lib:/usr/local/lib +# On Windows: +# library_dirs = c:\mingw\lib,c:\atlas\lib +# On some BSD and Linux systems: +# library_dirs = /usr/lib,/usr/local/lib +# +# include_dirs +# List of directories to add to the header file earch path. +# include_dirs = /usr/include:/usr/local/include +# +# src_dirs +# List of directories that contain extracted source code for the +# dependency. For some dependencies, numpy.distutils will be able to build +# them from source if binaries cannot be found. The FORTRAN BLAS and +# LAPACK libraries are one example. However, most dependencies are more +# complicated and require actual installation that you need to do +# yourself. +# src_dirs = /home/rkern/src/BLAS_SRC:/home/rkern/src/LAPACK_SRC +# +# search_static_first +# Boolean (one of (0, false, no, off) for False or (1, true, yes, on) for +# True) to tell numpy.distutils to prefer static libraries (.a) over +# shared libraries (.so). It is turned off by default. +# search_static_first = false + +# Defaults +# ======== +# The settings given here will apply to all other sections if not overridden. +# This is a good place to add general library and include directories like +# /usr/local/{lib,include} +# +#[DEFAULT] +#library_dirs = /usr/local/lib +#include_dirs = /usr/local/include + +# Atlas +# ----- +# Atlas is an open source optimized implementation of the BLAS and Lapack +# routines. Numpy will try to build against Atlas by default when available in +# the system library dirs. To build numpy against a custom installation of +# Atlas you can add an explicit section such as the following. Here we assume +# that Atlas was configured with ``prefix=/opt/atlas``. +# +# [atlas] +# library_dirs = /opt/atlas/lib +# include_dirs = /opt/atlas/include + +# OpenBLAS +# -------- +# OpenBLAS is another open source optimized implementation of BLAS and Lapack +# and can be seen as an alternative to Atlas. To build numpy against OpenBLAS +# instead of Atlas, use this section instead of the above, adjusting as needed +# for your configuration (in the following example we installed OpenBLAS with +# ``make install PREFIX=/opt/OpenBLAS``. +# +# **Warning**: OpenBLAS, by default, is built in multithreaded mode. Due to the +# way Python's multiprocessing is implemented, a multithreaded OpenBLAS can +# cause programs using both to hang as soon as a worker process is forked on +# POSIX systems (Linux, Mac). +# This is fixed in Openblas 0.2.9 for the pthread build, the OpenMP build using +# GNU openmp is as of gcc-4.9 not fixed yet. +# Python 3.4 will introduce a new feature in multiprocessing, called the +# "forkserver", which solves this problem. For older versions, make sure +# OpenBLAS is built using pthreads or use Python threads instead of +# multiprocessing. +# (This problem does not exist with multithreaded ATLAS.) +# +# http://docs.python.org/3.4/library/multiprocessing.html#contexts-and-start-methods +# https://github.com/xianyi/OpenBLAS/issues/294 +# +[openblas] +libraries = openblas +library_dirs = /usr/lib +include_dirs = /usr/include + +# MKL +#---- +# MKL is Intel's very optimized yet proprietary implementation of BLAS and +# Lapack. +# For recent (9.0.21, for example) mkl, you need to change the names of the +# lapack library. Assuming you installed the mkl in /opt, for a 32 bits cpu: +# [mkl] +# library_dirs = /opt/intel/mkl/9.1.023/lib/32/ +# lapack_libs = mkl_lapack +# +# For 10.*, on 32 bits machines: +# [mkl] +# library_dirs = /opt/intel/mkl/10.0.1.014/lib/32/ +# lapack_libs = mkl_lapack +# mkl_libs = mkl, guide + +# UMFPACK +# ------- +# The UMFPACK library is used in scikits.umfpack to factor large sparse matrices. +# It, in turn, depends on the AMD library for reordering the matrices for +# better performance. Note that the AMD library has nothing to do with AMD +# (Advanced Micro Devices), the CPU company. +# +# UMFPACK is not needed for numpy or scipy. +# +# http://www.cise.ufl.edu/research/sparse/umfpack/ +# http://www.cise.ufl.edu/research/sparse/amd/ +# http://scikits.appspot.com/umfpack +# +#[amd] +#amd_libs = amd +# +#[umfpack] +#umfpack_libs = umfpack + +# FFT libraries +# ------------- +# There are two FFT libraries that we can configure here: FFTW (2 and 3) and djbfft. +# Note that these libraries are not needed for numpy or scipy. +# +# http://fftw.org/ +# http://cr.yp.to/djbfft.html +# +# Given only this section, numpy.distutils will try to figure out which version +# of FFTW you are using. +#[fftw] +#libraries = fftw3 +# +# For djbfft, numpy.distutils will look for either djbfft.a or libdjbfft.a . +#[djbfft] +#include_dirs = /usr/local/djbfft/include +#library_dirs = /usr/local/djbfft/lib |