X-Original-To: alpine-devel@lists.alpinelinux.org Delivered-To: alpine-devel@mail.alpinelinux.org Received: from mail-pa0-f49.google.com (mail-pa0-f49.google.com [209.85.220.49]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by mail.alpinelinux.org (Postfix) with ESMTPS id D8193DC0D79 for ; Thu, 28 Aug 2014 22:19:16 +0000 (UTC) Received: by mail-pa0-f49.google.com with SMTP id kq14so4308386pab.36 for ; Thu, 28 Aug 2014 15:19:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=5sc4+MZnCHko4lB/k3KiuEluNQairrbJ417vgn9DS78=; b=04FFTGl19YSk8EVNrlSsLYVXpjmUgIdAEGhA49xAxPGFVfVrTnUaIJ/MfE8QC8qVrV YQcXyusUMcWSaLWPvgynEzx6RA2qfde1TzFH6IgfWVaDumZFggIWMUIzAr1VTjh2hGRR m82WyenBpfQsLWXvC3jyZgsEdHBv3z9GBF0lN5/7WLkOh5Pus2DExDq/UeswwCQzGhQu 9jN0zUYcd78vjLOlW4vCWMWiAU1nB6zhMVrNKO1X4qXb07Z9jjE41kZkslAMm6L4yqgk CVf69puEUwyVd1TGUaTYD7vjvCIpZ4Ubevqrs3fB08Gfpd6MQDiplDwxoRoIJgyxYoiV U1Lg== X-Received: by 10.66.65.133 with SMTP id x5mr10189084pas.26.1409264354536; Thu, 28 Aug 2014 15:19:14 -0700 (PDT) Received: from localhost.localdomain ([50.0.224.184]) by mx.google.com with ESMTPSA id ba5sm4566878pbd.72.2014.08.28.15.19.13 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 28 Aug 2014 15:19:14 -0700 (PDT) From: Isaac Dunham To: alpine-devel@lists.alpinelinux.org Cc: Isaac Dunham Subject: [alpine-devel] [PATCH 2/2] testing/py-numpy: upgrade, use OpenBLAS Date: Thu, 28 Aug 2014 15:19:04 -0700 Message-Id: <1409264344-5879-2-git-send-email-ibid.ag@gmail.com> X-Mailer: git-send-email 2.1.0 In-Reply-To: <1409264344-5879-1-git-send-email-ibid.ag@gmail.com> References: <1409264344-5879-1-git-send-email-ibid.ag@gmail.com> X-Mailinglist: alpine-devel Precedence: list List-Id: Alpine Development List-Unsubscribe: List-Post: List-Help: List-Subscribe: Upgraded to 1.8.1 so I could build with OpenBLAS. Fixed a typo while I was here. --- testing/py-numpy/APKBUILD | 17 +++-- testing/py-numpy/site.cfg | 157 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 168 insertions(+), 6 deletions(-) create mode 100644 testing/py-numpy/site.cfg diff --git a/testing/py-numpy/APKBUILD b/testing/py-numpy/APKBUILD index a590ba1..db7f1f8 100644 --- a/testing/py-numpy/APKBUILD +++ b/testing/py-numpy/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: Francesco Colista pkgname=py-numpy _pkgname=numpy -pkgver=1.7.1 +pkgver=1.8.1 pkgrel=0 pkgdesc="Scientific tools for Python" url="http://numpy.scipy.org/" @@ -13,7 +13,8 @@ depends_dev="python-dev" makedepends="$depends_dev" install="" subpackages="$pkgname-dev $pkgname-doc" -source="http://downloads.sourceforge.net/$_pkgname/$_pkgname-$pkgver.tar.gz" +source="http://downloads.sourceforge.net/$_pkgname/$_pkgname-$pkgver.tar.gz + site.cfg" _builddir="$srcdir"/$_pkgname-$pkgver prepare() { @@ -22,13 +23,14 @@ prepare() { for i in $source; do case $i in *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + site.cfg) msg $i; cp "$srcdir"/$i ./ || return 1;; esac done } build() { cd "$_builddir" - export Atles=None + export Atlas=None LDFLAGS="$LDFLAGS -shared" python setup.py build config_fc --fcompiler=gnu95 || return 1 } @@ -41,6 +43,9 @@ package() { install -m644 LICENSE.txt "$pkgdir"/usr/share/licenses/custom/$pkgname/LICENSE } -md5sums="0ab72b3b83528a7ae79c6df9042d61c6 numpy-1.7.1.tar.gz" -sha256sums="5525019a3085c3d860e6cfe4c0a30fb65d567626aafc50cf1252a641a418084a numpy-1.7.1.tar.gz" -sha512sums="d58177f3971b6d07baf6f81a2088ba371c7e43ea64ee7ada261da97c6d725b4bd4927122ac373c55383254e4e31691939276dab08a79a238bfa55172a3eff684 numpy-1.7.1.tar.gz" +md5sums="be95babe263bfa3428363d6db5b64678 numpy-1.8.1.tar.gz +6f15bb8fe3d12faa8983a9e18bbea2a9 site.cfg" +sha256sums="3d722fc3ac922a34c50183683e828052cd9bb7e9134a95098441297d7ea1c7a9 numpy-1.8.1.tar.gz +8aa71c1aec2a9fdf6ab6167c92e86bdaf27f9a263b6b9849097ec7dcdf6d91a3 site.cfg" +sha512sums="39ef9e13f8681a2c2ba3d74ab96fd28c5669e653308fd1549f262921814fa7c276ce6d9fb65ef135006584c608bdf3db198d43f66c9286fc7b3c79803dbc1f57 numpy-1.8.1.tar.gz +21ca8db304cbbf5949f07702f2a42bb5e5a0d641921e36649555a41b0e48f04e96f53760417823177ac27f6de24b2191e6e1d5f0eb393beafa29f7484e23284f site.cfg" diff --git a/testing/py-numpy/site.cfg b/testing/py-numpy/site.cfg new file mode 100644 index 0000000..effb46f --- /dev/null +++ b/testing/py-numpy/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 -- 2.1.0 --- Unsubscribe: alpine-devel+unsubscribe@lists.alpinelinux.org Help: alpine-devel+help@lists.alpinelinux.org ---