[arch-commits] Commit in sage-mathematics/trunk (PKGBUILD.split)

Antonio Rojas arojas at archlinux.org
Sun Dec 21 11:50:08 UTC 2014


    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 <arojas at 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
+}



More information about the arch-commits mailing list