138 lines
4.9 KiB
Bash
138 lines
4.9 KiB
Bash
# Maintainer: Alexey Pavlov <alexpux@gmail.com>
|
|
# Contributor: Ray Donnelly <mingw.android@gmail.com>
|
|
|
|
_realname=numpy
|
|
pkgbase=mingw-w64-python-${_realname}
|
|
pkgname=("${MINGW_PACKAGE_PREFIX}-python2-${_realname}" "${MINGW_PACKAGE_PREFIX}-python3-${_realname}")
|
|
pkgver=1.10.0
|
|
pkgrel=1
|
|
pkgdesc="Scientific tools for Python (mingw-w64)"
|
|
arch=('any')
|
|
license=('BSD')
|
|
url="http://www.numpy.org/"
|
|
makedepends=("${MINGW_PACKAGE_PREFIX}-openblas"
|
|
"${MINGW_PACKAGE_PREFIX}-python3-setuptools"
|
|
"${MINGW_PACKAGE_PREFIX}-python3-nose"
|
|
"${MINGW_PACKAGE_PREFIX}-python2-setuptools"
|
|
"${MINGW_PACKAGE_PREFIX}-python2-nose"
|
|
"${MINGW_PACKAGE_PREFIX}-gcc-fortran")
|
|
options=('staticlibs' 'strip' '!debug')
|
|
source=(http://downloads.sourceforge.net/numpy/${_realname}-${pkgver}.tar.gz
|
|
detect-mingw-environment.patch
|
|
fix-finding-python2.patch
|
|
gfortran-better-version-check.patch
|
|
fix-testsuite.patch
|
|
mincoming-stack-boundary-only-32bit.patch
|
|
disable-visualcompaq-for-mingw.patch)
|
|
md5sums=('116c65ae392e9b50aad713f42158f32a'
|
|
'e2c63f8472ea162d442beb9f05441f9d'
|
|
'c9e172056f09052d17cf8162b9cf5b3a'
|
|
'f4a729b29154f1fde5ffe911beef5984'
|
|
'59c4e9b71cc7b297099b4430bcb7ea28'
|
|
'abc51ef8452d30fd83c69eb183425b16'
|
|
'c4fd82349f2c2c9352ae666b91b7ceea')
|
|
|
|
prepare() {
|
|
cd ${_realname}-${pkgver}
|
|
patch -Np1 -i ${srcdir}/detect-mingw-environment.patch
|
|
patch -Np1 -i ${srcdir}/fix-finding-python2.patch
|
|
patch -Np1 -i ${srcdir}/gfortran-better-version-check.patch
|
|
patch -Np1 -i ${srcdir}/fix-testsuite.patch
|
|
patch -Np1 -i ${srcdir}/mincoming-stack-boundary-only-32bit.patch
|
|
patch -Np1 -i ${srcdir}/disable-visualcompaq-for-mingw.patch
|
|
cd ..
|
|
|
|
cp -a numpy-${pkgver} ${_realname}-py2-${CARCH}
|
|
cp -a numpy-${pkgver} ${_realname}-py3-${CARCH}
|
|
|
|
cd ${_realname}-py2-${CARCH}
|
|
sed -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|" \
|
|
-i $(find . -name '*.py')
|
|
}
|
|
|
|
build() {
|
|
export ATLAS=None
|
|
export LDFLAGS="$LDFLAGS -shared"
|
|
|
|
echo "Building Python2"
|
|
cd ${_realname}-py2-${CARCH}
|
|
MSYS2_ARG_CONV_EXCL="--prefix=;--install-scripts=;--install-platlib=" \
|
|
${MINGW_PREFIX}/bin/python2 setup.py config_fc --fcompiler=gnu95 build
|
|
|
|
echo "Building Python3"
|
|
cd ../${_realname}-py3-${CARCH}
|
|
MSYS2_ARG_CONV_EXCL="--prefix=;--install-scripts=;--install-platlib=" \
|
|
${MINGW_PREFIX}/bin/python3 setup.py config_fc --fcompiler=gnu95 build
|
|
}
|
|
|
|
package_python2-numpy() {
|
|
depends=("${MINGW_PACKAGE_PREFIX}-openblas" "${MINGW_PACKAGE_PREFIX}-python2")
|
|
optdepends=("${MINGW_PACKAGE_PREFIX}-python2-nose: testsuite")
|
|
|
|
_pyver=2.7
|
|
|
|
export ATLAS=None
|
|
export LDFLAGS="$LDFLAGS -shared"
|
|
|
|
cd ${_realname}-py2-${CARCH}
|
|
MSYS2_ARG_CONV_EXCL="--prefix=;--install-scripts=;--install-platlib=" \
|
|
${MINGW_PREFIX}/bin/python2 setup.py config_fc --fcompiler=gnu95 install --prefix=${MINGW_PREFIX} --root="${pkgdir}" --optimize=1
|
|
|
|
install -m755 -d "${pkgdir}${MINGW_PREFIX}/share/licenses/python2-numpy"
|
|
install -m644 LICENSE.txt "${pkgdir}${MINGW_PREFIX}/share/licenses/python2-numpy/"
|
|
|
|
install -m755 -d "${pkgdir}${MINGW_PREFIX}/include/python${_pyver}"
|
|
cp -rf ${pkgdir}${MINGW_PREFIX}/lib/python${_pyver}/site-packages/numpy/core/include/numpy "${pkgdir}${MINGW_PREFIX}/include/python${_pyver}/"
|
|
|
|
# fix python command in files
|
|
local _mingw_prefix=$(cygpath -am ${MINGW_PREFIX})
|
|
for _f in "${pkgdir}${MINGW_PREFIX}"/bin/*.py; do
|
|
sed -e "s|${_mingw_prefix}/bin/|/usr/bin/env |g" -i ${_f}
|
|
done
|
|
}
|
|
|
|
package_python3-numpy() {
|
|
depends=("${MINGW_PACKAGE_PREFIX}-openblas" "${MINGW_PACKAGE_PREFIX}-python3")
|
|
optdepends=("${MINGW_PACKAGE_PREFIX}-python3-nose: testsuite")
|
|
|
|
_pyver=3.5
|
|
_pyinc=${_pyver}m
|
|
|
|
export ATLAS=None
|
|
export LDFLAGS="$LDFLAGS -shared"
|
|
|
|
cd ${_realname}-py3-${CARCH}
|
|
MSYS2_ARG_CONV_EXCL="--prefix=;--install-scripts=;--install-platlib=" \
|
|
${MINGW_PREFIX}/bin/python3 setup.py config_fc --fcompiler=gnu95 install --prefix=${MINGW_PREFIX} --root="${pkgdir}" --optimize=1
|
|
|
|
install -m755 -d "${pkgdir}${MINGW_PREFIX}/share/licenses/python3-numpy"
|
|
install -m644 LICENSE.txt "${pkgdir}${MINGW_PREFIX}/share/licenses/python3-numpy/"
|
|
|
|
install -m755 -d "${pkgdir}${MINGW_PREFIX}/include/python${_pyinc}"
|
|
cp -rf ${pkgdir}${MINGW_PREFIX}/lib/python${_pyver}/site-packages/numpy/core/include/numpy "${pkgdir}${MINGW_PREFIX}/include/python${_pyinc}/"
|
|
|
|
# fix python command in files
|
|
local _mingw_prefix=$(cygpath -am ${MINGW_PREFIX})
|
|
for _f in "${pkgdir}${MINGW_PREFIX}"/bin/*.py; do
|
|
sed -e "s|${_mingw_prefix}/bin/|/usr/bin/env |g" -i ${_f}
|
|
done
|
|
}
|
|
|
|
package_mingw-w64-i686-python2-numpy() {
|
|
package_python2-numpy
|
|
}
|
|
|
|
package_mingw-w64-i686-python3-numpy() {
|
|
package_python3-numpy
|
|
}
|
|
|
|
package_mingw-w64-x86_64-python2-numpy() {
|
|
package_python2-numpy
|
|
}
|
|
|
|
package_mingw-w64-x86_64-python3-numpy() {
|
|
package_python3-numpy
|
|
}
|