Date: Sunday, January 18, 2015 @ 21:02:52 Author: arojas Revision: 126128
Move sage-mathematics-src subpackage here Added: sage-mathematics-doc/trunk/fes02.patch sage-mathematics-doc/trunk/gap-hap.patch sage-mathematics-doc/trunk/paths.patch Modified: sage-mathematics-doc/trunk/PKGBUILD ---------------+ PKGBUILD | 52 +++++++++++++++++++++++++++++++++++++++++++++------- fes02.patch | 45 +++++++++++++++++++++++++++++++++++++++++++++ gap-hap.patch | 11 +++++++++++ paths.patch | 32 ++++++++++++++++++++++++++++++++ 4 files changed, 133 insertions(+), 7 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2015-01-18 20:01:29 UTC (rev 126127) +++ PKGBUILD 2015-01-18 20:02:52 UTC (rev 126128) @@ -1,16 +1,42 @@ # Maintainer: Antonio Rojas <aro...@archlinux.org> -pkgname=sage-mathematics-doc +pkgbase=sage-mathematics-doc +pkgname=('sage-mathematics-doc' 'sage-mathematics-src') pkgver=6.4.1 -pkgrel=1 -pkgdesc="HTML documentation and inline help for Sage" +pkgrel=6 arch=('any') url="http://www.sagemath.org" license=('GPL') -depends=('sage-notebook' 'python2-sphinx') -source=("https://github.com/sagemath/sage/archive/$pkgver.tar.gz") -md5sums=('e40736461992e62af3a84cf9a212c9d1') +makedepends=('sage-notebook' 'python2-sphinx') +source=("https://github.com/sagemath/sage/archive/$pkgver.tar.gz" 'paths.patch' 'gap-hap.patch' 'fes02.patch') +md5sums=('e40736461992e62af3a84cf9a212c9d1' + '9a39301dedeb560f7bfddb81b6853f28' + '631ee6b8b3e7d12bb7858cfd841af483' + '506944613082ba7f5b34360939ca90eb') +prepare() { + cd sage-$pkgver + +# add optional packages manually (Fedora) + sed -e 's|is_package_installed("nauty")|True|' -i src/sage/graphs/graph_generators.py +# fix paths in python imports + patch -p0 -i $srcdir/paths.patch +# fix linking to blas/cblas + sed -e "s|cblas(), atlas(),|'cblas', 'blas',|" -i src/sage/misc/cython.py +# don't use is_package_installed function + patch -p0 -i $srcdir/gap-hap.patch +# supress warning about GAP install dir + sed -e "s|gapdir = os.path.join(SAGE_LOCAL, 'gap', 'latest')|gapdir = '/usr/lib/gap'|" -i src/sage/libs/gap/util.pyx +# use small Cremona database + sed -e "s|is_package_installed('database_cremona_ellcurve')|False|" -i src/sage/databases/cremona.py +# fix build against libfes 0.2 http://trac.sagemath.org/ticket/15209 + patch -p0 -i $srcdir/fes02.patch + +# use python2 + sed -e 's|cython %s %s|cython2 %s %s|' -i src/sage/misc/cython.py + sed -e 's|python setup.py|python2 setup.py|' -i src/sage/misc/cython.py +} + build() { cd sage-$pkgver/src @@ -22,7 +48,9 @@ python2 doc/common/builder.py -k all html } -package() { +package_sage-mathematics-doc() { + pkgdesc="HTML documentation and inline help for Sage" + depends=('sage-notebook' 'python2-sphinx') cd sage-$pkgver/src/doc mkdir -p "$pkgdir"/usr/share/doc/sage @@ -30,3 +58,13 @@ rm "$pkgdir"/usr/share/doc/sage/Makefile rm -r "$pkgdir"/usr/share/doc/sage/output/doctrees } + +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 + + mkdir -p "$pkgdir"/usr/include/csage + cp -r sage-$pkgver/src/c_lib/include/* "$pkgdir"/usr/include/csage +} Added: fes02.patch =================================================================== --- fes02.patch (rev 0) +++ fes02.patch 2015-01-18 20:02:52 UTC (rev 126128) @@ -0,0 +1,45 @@ +diff --git a/src/sage/libs/fes.pyx b/src/sage/libs/fes.pyx +index 40b9c23..d188cf0 100644 +--- src/sage/libs/fes.pyx ++++ src/sage/libs/fes.pyx +@@ -1,17 +1,19 @@ + """ +-Binding for the FES library. ++Binding for the libFES library. + + Finding solutions of systems of boolean equations by exhaustive + search, via the fes library. This is usually (much) faster than + computing a Groebner basis, except in special cases where the latter + is particularly easy. + +-The FES library is presently only able to deal with polynomials in 64 ++More information is available at [http://www.lifl.fr/~bouillag/fes]. ++ ++The libFES library is presently only able to deal with polynomials in 64 + variables. Performing a full exhaustive search over 64 variables will + take a **long** time. The number of variables can be artificially + reduced to 64 by specializing some of them. + +-Note that the FES library **requires** at least of the equations to be ++Note that the libFES library **requires** at least of the equations to be + non-linear. + + AUTHORS: +@@ -71,7 +73,7 @@ from libc.stdint cimport uint64_t + cdef extern from "fes_interface.h": + ctypedef int (*solution_callback_t)(void *, uint64_t) + +- void exhaustive_search_wrapper(int n, int n_eqs, int degree, int ***coeffs, solution_callback_t callback, void* callback_state, int verbose) ++ void exhaustive_search_wrapper(int n, int n_eqs, int degree, int ***coeffs, solution_callback_t callback, void* callback_state, int verbose, int T) + + + include 'sage/ext/interrupt.pxi' #sig_on(), sig_off() +@@ -219,7 +221,7 @@ def exhaustive_search(eqs, max_sols=Infinity, verbose=False): + + # ------- runs the library + sig_on() +- exhaustive_search_wrapper(n, len(eqs), degree, coeffs, report_solution, <void *> internal_state, verbose) ++ exhaustive_search_wrapper(n, len(eqs), degree, coeffs, report_solution, <void *> internal_state, verbose, 0) + sig_off() + + # ------- frees memory occupied by the dense representation of the equations Added: gap-hap.patch =================================================================== --- gap-hap.patch (rev 0) +++ gap-hap.patch 2015-01-18 20:02:52 UTC (rev 126128) @@ -0,0 +1,11 @@ +--- src/sage/groups/perm_gps/permgroup.py.orig 2014-12-23 10:14:09.687176992 +0100 ++++ src/sage/groups/perm_gps/permgroup.py 2014-12-23 10:14:53.930669821 +0100 +@@ -180,8 +180,6 @@ + """ + @wraps(f) + def wrapped(self, n, p=0): +- if not is_package_installed('gap_packages'): +- raise RuntimeError("You must install the optional gap_packages package.") + load_hap() + from sage.rings.arith import is_prime + if not (p == 0 or is_prime(p)): Added: paths.patch =================================================================== --- paths.patch (rev 0) +++ paths.patch 2015-01-18 20:02:52 UTC (rev 126128) @@ -0,0 +1,32 @@ +--- src/sage/env.py.orig 2014-06-25 10:47:25.827203554 +1200 ++++ src/sage/env.py 2014-06-25 10:49:07.667402821 +1200 +@@ -86,21 +86,18 @@ + _add_variable_or_fallback('LOCAL_IDENTIFIER','$HOSTNAME.%s'%os.getpid()) + + # bunch of sage directories and files +-_add_variable_or_fallback('SAGE_ROOT', None) +-_add_variable_or_fallback('SAGE_LOCAL', opj('$SAGE_ROOT', 'local')) +-_add_variable_or_fallback('SAGE_ETC', opj('$SAGE_LOCAL', 'etc')) +-_add_variable_or_fallback('SAGE_SHARE', opj('$SAGE_LOCAL', 'share')) ++_add_variable_or_fallback('SAGE_ROOT', '/usr') ++_add_variable_or_fallback('SAGE_LOCAL', '/usr') ++_add_variable_or_fallback('SAGE_ETC', '/etc/sage') ++_add_variable_or_fallback('SAGE_SHARE', opj('$SAGE_LOCAL', 'share', 'sage')) + + _add_variable_or_fallback('SAGE_SRC', opj('$SAGE_ROOT', 'src')) +-_add_variable_or_fallback('SITE_PACKAGES', site.getsitepackages()) ++_add_variable_or_fallback('SITE_PACKAGES', '/usr/lib/sage/site-packages') + _add_variable_or_fallback('SAGE_LIB', SITE_PACKAGES[0]) + +-_add_variable_or_fallback('SAGE_EXTCODE', opj('$SAGE_SHARE', 'sage', 'ext')) +-_add_variable_or_fallback('SAGE_LOGS', opj('$SAGE_ROOT', 'logs', 'pkgs')) +-_add_variable_or_fallback('SAGE_SPKG_INST', opj('$SAGE_LOCAL', 'var', 'lib', 'sage', 'installed')) +-_add_variable_or_fallback('SAGE_DOC', opj('$SAGE_SRC', 'doc')) +-_add_variable_or_fallback('DOT_SAGE', opj(os.environ.get('HOME','$SAGE_ROOT'), '.sage')) +-_add_variable_or_fallback('SAGE_DOT_GIT', opj('$SAGE_ROOT', '.git')) ++_add_variable_or_fallback('SAGE_EXTCODE', opj('$SAGE_SHARE', 'ext')) ++_add_variable_or_fallback('SAGE_DOC', '/usr/share/doc/sage') ++_add_variable_or_fallback('DOT_SAGE', opj(os.environ.get('HOME'), '.sage')) + + # misc + _add_variable_or_fallback('SAGE_URL', 'http://sage.math.washington.edu/sage/')