summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO10
-rw-r--r--PKGBUILD28
-rw-r--r--create_extension.patch120
3 files changed, 11 insertions, 147 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 0dcad76dd5a0..ecd43d8932b1 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
diff --git a/PKGBUILD b/PKGBUILD
index a9f5c5bb583c..643f807519ff 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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,
- )