Date: Sunday, December 21, 2014 @ 12:50:07 Author: arojas Revision: 124292
Add PKGBUILD for building against system libs Added: sage-mathematics/trunk/PKGBUILD.split ----------------+ PKGBUILD.split | 124 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 124 insertions(+) Added: PKGBUILD.split =================================================================== --- PKGBUILD.split (rev 0) +++ PKGBUILD.split 2014-12-21 11:50:07 UTC (rev 124292) @@ -0,0 +1,124 @@ +# $Id: PKGBUILD 118896 2014-09-13 07:12:02Z arcanis $ +# Maintainer: Evgeniy Alekseev <arcanis.arch at gmail dot com> +# Contributor: Daniel Wallace <danielwallace at gtmanfred dot com> +# Contributor: Antonio Rojas <aro...@archlinux.org> +# Contributor: Thomas Dziedzic <gostrc at gmail dot com> +# Contributor: Osman Ugus <ugus11 at yahoo dot com> +# Contributor: Stefan Husmann <stefan-husmann at t-online dot de> +# Special thanks to Nareto for moving the compile from the .install to the PKGBUILD + +pkgbase=sage-mathematics +pkgname=('sage-mathematics' 'sage-mathematics-src') +pkgver=6.4.1 +pkgrel=2 +pkgdesc="Open Source Mathematics Software, free alternative to Magma, Maple, Mathematica, and Matlab" +arch=('i686' 'x86_64') +url="http://www.sagemath.org" +license=('GPL') +makedepends=('ipython2' 'cython2' 'ppl' 'glpk' 'mpfi' 'polybori' 'singular' 'libcliquer' 'ecl' 'libgap' 'givaro' 'libmpc' 'lcalc' + 'eclib' 'gmp-ecm' 'zn_poly' 'pynac' 'linbox' 'gsl' 'boost' 'scons' 'ratpoints' 'symmetrica' 'fflas-ffpack' 'gd' 'python2-jinja' 'python2-numpy') +source=("https://github.com/sagemath/sage/archive/$pkgver.tar.gz" "http://www.sagemath.org/packages/upstream/pexpect/pexpect-2.0.tar.bz2" +'extensions.patch' 'c_lib.patch' 'env.patch' 'paths.patch' 'blas.patch' 'clean.patch' 'skip-check.patch' 'pexpect-env.patch') +md5sums=('e40736461992e62af3a84cf9a212c9d1' + 'd9a3e113ed147dcee8f89962a8dccd43' + '41ffc7700c92aa435ccf3a4411867d66' + '5216dbb3d80cecc8ec4a36cc9706f8b5' + 'afd71d86c0cef589fedf699e0cd1d27e' + 'df2f56fb5845a83808b6724f6965ec6e' + 'eee444d32b8a818a67b1e0ce0850b8bb' + '46c212a3a6713b0f78c370c7186d0982' + '5947a420a0b1483f0cbc74c76895789b' + 'a83a3b1bc7fcb7cbf752a83a8311fc42') +# changelog=ChangeLog + +prepare(){ + cd sage-$pkgver + +# add optional packages manually (Fedora) + patch -p0 -i $srcdir/extensions.patch +# don't assume Sage is already available (Fedora) + patch -p0 -i $srcdir/c_lib.patch +# find L.h header + sed -i 's|libLfunction|Lfunction|' src/module_list.py +# don't try to link against libpng 1.2 + sed -i 's|png12|png|' src/module_list.py +# set env variables + patch -p0 -i $srcdir/env.patch +# fix paths in python imports + patch -p0 -i $srcdir/paths.patch +# fix linking to blas/cblas + patch -p0 -i $srcdir/blas.patch +# don't try to remove installed files + patch -p0 -i $srcdir/clean.patch +# skip checking build status + patch -p0 -i $srcdir/skip-check.patch + +# use python2 + sed -i 's|#!/usr/bin/env python|#!/usr/bin/env python2|' src/bin/* + sed -i 's|exec python|exec python2|' src/bin/* + sed -i 's|cython %s %s|cython2 %s %s|' src/sage/misc/cython.py + +# fix env in pexpect + cd $srcdir/pexpect-2.0 + patch -p1 -i $srcdir/pexpect-env.patch +} + + +build() { + cd sage-$pkgver/src + + export SAGE_FAT_BINARY='yes' + export SAGE_LOCAL="/usr" + export SAGE_SRC="$PWD" + + pushd c_lib + CXX=g++ UNAME=Linux SAGE64=auto scons + popd + + python2 setup.py build + +# build pexpect + pushd $srcdir/pexpect-2.0 + python2 setup.py build + popd +} + + +package_sage-mathematics() { + depends=('ipython2' 'cython2' 'ppl' 'glpk' 'mpfi' 'palp' 'polybori' 'singular' 'libcliquer' 'maxima-ecl' 'gfan' 'sympow' 'tachyon' 'python2-rpy2' + 'python2-matplotlib' 'python2-scipy' 'python2-mpmath' 'python2-sympy' 'libgap' 'gap-math' 'genus2reduction' 'flintqs' 'givaro' 'libmpc' 'lcalc' + 'eclib' 'gmp-ecm' 'zn_poly' 'python2-gd' 'pynac' 'linbox' 'gsl' 'pari-galdata' 'pari-seadata-small' 'sage-data-combinatorial_designs' + 'sage-data-elliptic_curves' 'sage-data-graphs' 'sage-data-polytopes_db' 'sage-data-conway_polynomials') # python2-pexpect + optdepends=('jmol: 3D plots' 'sage-notebook: Web-based notebook interface' 'sage-mathematics-doc: Documentation and inline help' +'sage-mathematics-src: source files needed to build cython code' 'python2-pyzmq: ipython notebook' 'python2-tornado: ipython notebook' +'python2-jinja: ipython notebook') + + cd sage-$pkgver/src + + export SAGE_ROOT="/usr" + export SAGE_LOCAL="$SAGE_ROOT" + export SAGE_SRC="$PWD" + + python2 setup.py install --root="$pkgdir" --optimize=1 + + mkdir -p "$pkgdir"/usr/{bin,lib} + cp c_lib/libcsage.so "$pkgdir"/usr/lib + cp bin/sage* "$pkgdir"/usr/bin + + mkdir -p "$pkgdir"/usr/share/sage + cp -r ext "$pkgdir"/usr/share/sage + +# Install Sage's own pexpect + cd $srcdir/pexpect-2.0 + python2 setup.py install --root="$pkgdir" --optimize=1 + mkdir -p "$pkgdir"/usr/lib/sage/site-packages/ + mv "$pkgdir"/usr/lib/python2.7/site-packages/pexpect* "$pkgdir"/usr/lib/sage/site-packages/ +} + + +package_sage-mathematics-src() { + pkgdesc="Source files for sage-mathematics" + + mkdir -p "$pkgdir"/usr/share/sage/src + cp -r sage-$pkgver/src/sage "$pkgdir"/usr/share/sage/src +}