diff options
author | Antonio Rojas | 2017-08-20 15:39:26 +0000 |
---|---|---|
committer | Antonio Rojas | 2017-08-20 15:39:26 +0000 |
commit | 110df3e72e36a1e39763781bfa0274e8343a06af (patch) | |
tree | e4e89405320040bf41d022179b7c675fbf671e01 | |
parent | 4dd5fa5ad09bc86741f30cdbc21d54165534c946 (diff) | |
download | aur-110df3e72e36a1e39763781bfa0274e8343a06af.tar.gz |
Sync with stable
-rw-r--r-- | .SRCINFO | 10 | ||||
-rw-r--r-- | PKGBUILD | 28 | ||||
-rw-r--r-- | create_extension.patch | 120 |
3 files changed, 11 insertions, 147 deletions
@@ -1,6 +1,6 @@ pkgbase = sagemath-git pkgdesc = Open Source Mathematics Software, free alternative to Magma, Maple, Mathematica, and Matlab - pkgver = 8.0.rc0.r0.g7de256c24f + pkgver = 8.0.r0.g74b03027bc pkgrel = 1 url = http://www.sagemath.org arch = i686 @@ -92,7 +92,7 @@ pkgbase = sagemath-git optdepends = sirocco: for computing the fundamental group of the complement of a plane curve optdepends = three.js: alternative 3D plots engine optdepends = tachyon: alternative 3D plots engine - source = git://git.sagemath.org/sage.git#branch=develop + source = git://git.sagemath.org/sage.git source = env.patch source = package.patch source = latte-count.patch @@ -101,8 +101,6 @@ pkgbase = sagemath-git source = test-optional.patch source = r-no-readline.patch source = fes02.patch - source = create_extension.patch - source = include_dirs_from_externs.patch source = sagemath-ecl-no-sigfpe.patch sha256sums = SKIP sha256sums = e0b5b8673300857fde823209a7e90faecf9e754ab812cc5e54297eddc0c79571 @@ -113,8 +111,6 @@ pkgbase = sagemath-git sha256sums = 81d08c6a760f171f3381455b66a6c84789c9f0eefddbe6ca5794075514ad8c3a sha256sums = ef9f401fa84fe1772af9efee6816643534f2896da4c23b809937b19771bdfbbf sha256sums = a39da083c038ada797ffc5bedc9ba47455a3f77057d42f86484ae877ef9172ea - sha256sums = 362bd7603e14f729c87eebc9d3f56eb8a9ec94456038f0cb17591e81c459ef8e - sha256sums = 19603251870e308e824d130611d5211482bc5912579780a527748d7f8d2ef560 sha256sums = c31809f887bf9acc45c5bd9dd30bb93e73601d3efbf3016594c3c1d241731c8a pkgname = sagemath-git @@ -159,6 +155,4 @@ pkgname = sagemath-jupyter-git depends = python2-ipywidgets depends = mathjax optdepends = sage-notebook-exporter: convert flask notebooks to Jupyter - provides = sagemath-jupyter - conflicts = sagemath-jupyter @@ -1,5 +1,5 @@ -# Maintainer: Evgeniy Alekseev <arcanis.arch at gmail dot com> # Maintainer: Antonio Rojas <arojas@archlinux.org> +# Contributor: Evgeniy Alekseev <arcanis.arch at gmail dot com> # Contributor: Daniel Wallace <danielwallace at gtmanfred dot com> # Contributor: Thomas Dziedzic <gostrc at gmail dot com> # Contributor: Osman Ugus <ugus11 at yahoo dot com> @@ -8,7 +8,7 @@ pkgbase=sagemath-git pkgname=(sagemath-git sagemath-jupyter-git) -pkgver=8.0.rc0.r0.g7de256c24f +pkgver=8.0.r0.g74b03027bc pkgrel=1 pkgdesc="Open Source Mathematics Software, free alternative to Magma, Maple, Mathematica, and Matlab" arch=(i686 x86_64) @@ -33,11 +33,9 @@ optdepends=('cython2: to compile cython code' 'python2-pkgconfig: to compile cyt 'three.js: alternative 3D plots engine' 'tachyon: alternative 3D plots engine') makedepends=(cython2 boost ratpoints symmetrica python2-jinja coin-or-cbc libhomfly libbraiding sirocco mcqd coxeter3 modular_decomposition bliss-graphs tdlib python2-pkgconfig meataxe libfes git) -source=("git://git.sagemath.org/sage.git#branch=develop" - env.patch package.patch latte-count.patch - jupyter-path.patch sagemath-python3-notebook.patch test-optional.patch r-no-readline.patch fes02.patch - create_extension.patch include_dirs_from_externs.patch - sagemath-ecl-no-sigfpe.patch) +source=(git://git.sagemath.org/sage.git + env.patch package.patch latte-count.patch jupyter-path.patch sagemath-python3-notebook.patch test-optional.patch + r-no-readline.patch fes02.patch sagemath-ecl-no-sigfpe.patch) sha256sums=('SKIP' 'e0b5b8673300857fde823209a7e90faecf9e754ab812cc5e54297eddc0c79571' '4a2297e4d9d28f0b3a1f58e1b463e332affcb109eafde44837b1657e309c8212' @@ -47,8 +45,6 @@ sha256sums=('SKIP' '81d08c6a760f171f3381455b66a6c84789c9f0eefddbe6ca5794075514ad8c3a' 'ef9f401fa84fe1772af9efee6816643534f2896da4c23b809937b19771bdfbbf' 'a39da083c038ada797ffc5bedc9ba47455a3f77057d42f86484ae877ef9172ea' - '362bd7603e14f729c87eebc9d3f56eb8a9ec94456038f0cb17591e81c459ef8e' - '19603251870e308e824d130611d5211482bc5912579780a527748d7f8d2ef560' 'c31809f887bf9acc45c5bd9dd30bb93e73601d3efbf3016594c3c1d241731c8a') pkgver() { @@ -90,13 +86,6 @@ prepare(){ sed -e 's|exec ipython|exec ipython2|' -e 's|cygdb|cygdb2|g' -i src/bin/sage sed -e "s|'cython'|'cython2'|" -i src/bin/sage-cython sed -e 's|bin/python|bin/python2|g' -i src/bin/sage-env - -# Add necessary patches to cython - mkdir -p local-python - cp -r /usr/lib/python2.7/site-packages/{Cython,cython.*,pyximport} local-python - cd local-python - patch -p1 -i "$srcdir"/create_extension.patch - patch -p1 -i "$srcdir"/include_dirs_from_externs.patch } build() { @@ -105,11 +94,11 @@ build() { ./configure --prefix=/usr || true cd src + export SAGE_LOCAL="/usr" export SAGE_ROOT="$PWD" export SAGE_SRC="$PWD" export CC=gcc - export PYTHONPATH="$PWD"/../local-python python2 setup.py build } @@ -150,14 +139,15 @@ package_sagemath-git() { # Split jupyter kernel rm -r "$pkgdir"/usr/share/jupyter + +# Drop meataxe extension, it segfaults + rm "$pkgdir"/usr/lib/python2.7/site-packages/sage/matrix/matrix_gfpn_dense.* } package_sagemath-jupyter-git() { pkgdesc='Jupyter kernel for SageMath' depends=(sagemath python2-jupyter_client python2-ipywidgets mathjax) optdepends=('sage-notebook-exporter: convert flask notebooks to Jupyter') - conflicts=(sagemath-jupyter) - provides=(sagemath-jupyter) cd sage/src diff --git a/create_extension.patch b/create_extension.patch deleted file mode 100644 index 10153fea0834..000000000000 --- a/create_extension.patch +++ /dev/null @@ -1,120 +0,0 @@ -commit 9797efe065d50638b0cd19219e6b1f3f5edaddab -Author: Jeroen Demeyer <jdemeyer@cage.ugent.be> -Date: Fri Nov 25 11:07:44 2016 +0100 - - Add support for create_extension() hook - -diff --git a/Cython/Build/Dependencies.py b/Cython/Build/Dependencies.py -index 6c2827d..aedbad3 100644 ---- a/Cython/Build/Dependencies.py -+++ b/Cython/Build/Dependencies.py -@@ -637,6 +637,20 @@ def create_dependency_tree(ctx=None, quiet=False): - return _dep_tree - - -+# If this changes, change also docs/src/reference/compilation.rst -+# which mentions this function -+def default_create_extension(template, kwds): -+ if 'depends' in kwds: -+ include_dirs = kwds.get('include_dirs', []) + ["."] -+ depends = resolve_depends(kwds['depends'], include_dirs) -+ kwds['depends'] = sorted(set(depends + template.depends)) -+ -+ t = template.__class__ -+ ext = t(**kwds) -+ metadata = dict(distutils=kwds, module_name=kwds['name']) -+ return (ext, metadata) -+ -+ - # This may be useful for advanced users? - def create_extension_list(patterns, exclude=None, ctx=None, aliases=None, quiet=False, language=None, - exclude_failures=False): -@@ -669,13 +683,16 @@ def create_extension_list(patterns, exclude=None, ctx=None, aliases=None, quiet= - Extension_distutils = Extension - class Extension_setuptools(Extension): pass - -+ # if no create_extension() function is defined, use a simple -+ # default function. -+ create_extension = ctx.options.create_extension or default_create_extension -+ - for pattern in patterns: - if isinstance(pattern, str): - filepattern = pattern -- template = None -+ template = Extension(pattern, []) # Fake Extension without sources - name = '*' - base = None -- exn_type = Extension - ext_language = language - elif isinstance(pattern, (Extension_distutils, Extension_setuptools)): - cython_sources = [s for s in pattern.sources -@@ -693,7 +710,6 @@ def create_extension_list(patterns, exclude=None, ctx=None, aliases=None, quiet= - template = pattern - name = template.name - base = DistutilsInfo(exn=template) -- exn_type = template.__class__ - ext_language = None # do not override whatever the Extension says - else: - msg = str("pattern is not of type str nor subclass of Extension (%s)" -@@ -727,39 +743,29 @@ def create_extension_list(patterns, exclude=None, ctx=None, aliases=None, quiet= - if key not in kwds: - kwds[key] = value - -+ kwds['name'] = module_name -+ - sources = [file] -- if template is not None: -- sources += [m for m in template.sources if m != filepattern] -+ sources += [m for m in template.sources if m != filepattern] - if 'sources' in kwds: - # allow users to add .c files etc. - for source in kwds['sources']: - source = encode_filename_in_py2(source) - if source not in sources: - sources.append(source) -- extra_sources = kwds['sources'] -- del kwds['sources'] -- else: -- extra_sources = None -- if 'depends' in kwds: -- depends = resolve_depends(kwds['depends'], (kwds.get('include_dirs') or []) + ["."]) -- if template is not None: -- # Always include everything from the template. -- depends = set(template.depends).union(depends) -- # Sort depends to make the metadata dump in the -- # Cython-generated C code predictable. -- kwds['depends'] = sorted(depends) -+ kwds['sources'] = sources - - if ext_language and 'language' not in kwds: - kwds['language'] = ext_language - -- module_list.append(exn_type( -- name=module_name, -- sources=sources, -- **kwds)) -- if extra_sources: -- kwds['sources'] = extra_sources -- module_metadata[module_name] = {'distutils': kwds, 'module_name': module_name} -- m = module_list[-1] -+ # Create the new extension -+ m, metadata = create_extension(template, kwds) -+ module_list.append(m) -+ -+ # Store metadata (this will be written as JSON in the -+ # generated C file but otherwise has no purpose) -+ module_metadata[module_name] = metadata -+ - if file not in m.sources: - # Old setuptools unconditionally replaces .pyx with .c - m.sources.remove(file.rsplit('.')[0] + '.c') -diff --git a/Cython/Compiler/Main.py b/Cython/Compiler/Main.py -index 3ba87d1..7ecd015 100644 ---- a/Cython/Compiler/Main.py -+++ b/Cython/Compiler/Main.py -@@ -753,4 +753,5 @@ default_options = dict( - output_dir=None, - build_dir=None, - cache=None, -+ create_extension=None, - ) |