summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorAntonio Rojas2021-10-22 09:03:58 +0200
committerAntonio Rojas2021-10-22 09:03:58 +0200
commitde5a51506a881e853e86d45ab104b3bbf92b3933 (patch)
tree740056ec383a91d0f84667c192f316b84a49927a
parentff5e9a588bcd056ee0f45868a1343b4bbbea8d72 (diff)
downloadaur-de5a51506a881e853e86d45ab104b3bbf92b3933.tar.gz
Rebase patches
-rw-r--r--.SRCINFO6
-rw-r--r--PKGBUILD6
-rw-r--r--sagemath-lrcalc2.patch204
-rw-r--r--test-optional.patch24
4 files changed, 170 insertions, 70 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 76f8d6916799..210a77e01ebf 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 = 9.5.beta2.r0.g52915b6662
+ pkgver = 9.5.beta4.r0.g056b8d4e7b
pkgrel = 1
url = http://www.sagemath.org
arch = x86_64
@@ -106,8 +106,8 @@ pkgbase = sagemath-git
sha256sums = SKIP
sha256sums = b2308f25c5e6ad330342fc365056d7aebfbba09b833e3be6fb6283061709b6a0
sha256sums = 88e944f23c3b2391dc2e9f9be8e1131152d837dc8c829dfc714663869a272e81
- sha256sums = af984186f852d2847d770a18fb6822296c50a652dbf55a1ed59d27517c3d3ee4
- sha256sums = 240ac4c29d96d56407a20e1b7f9846e342a7eb2bb4edd6e5c86b3b5a8ff462f9
+ sha256sums = 079276c593d0f122b97144f80de8b1746a5735d0e82ebb194d471513771743a4
+ sha256sums = b7ebdba8612b1219011642c9bd4b377a23f402876a7d3dac90679a2bb34bbf98
sha256sums = 791b3f2c6e5529b09c3abf2f9703b6cf754d633a7a4177645b70b72ea014135a
pkgname = sagemath-git
diff --git a/PKGBUILD b/PKGBUILD
index 3c7125fd5252..9099bf1fdb62 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -6,7 +6,7 @@
# Contributor: Stefan Husmann <stefan-husmann at t-online dot de>
pkgname=sagemath-git
-pkgver=9.5.beta2.r0.g52915b6662
+pkgver=9.5.beta4.r0.g056b8d4e7b
pkgrel=1
pkgdesc='Open Source Mathematics Software, free alternative to Magma, Maple, Mathematica, and Matlab'
arch=(x86_64)
@@ -47,8 +47,8 @@ source=(git://git.sagemath.org/sage.git#branch=develop
sha256sums=('SKIP'
'b2308f25c5e6ad330342fc365056d7aebfbba09b833e3be6fb6283061709b6a0'
'88e944f23c3b2391dc2e9f9be8e1131152d837dc8c829dfc714663869a272e81'
- 'af984186f852d2847d770a18fb6822296c50a652dbf55a1ed59d27517c3d3ee4'
- '240ac4c29d96d56407a20e1b7f9846e342a7eb2bb4edd6e5c86b3b5a8ff462f9'
+ '079276c593d0f122b97144f80de8b1746a5735d0e82ebb194d471513771743a4'
+ 'b7ebdba8612b1219011642c9bd4b377a23f402876a7d3dac90679a2bb34bbf98'
'791b3f2c6e5529b09c3abf2f9703b6cf754d633a7a4177645b70b72ea014135a')
pkgver() {
diff --git a/sagemath-lrcalc2.patch b/sagemath-lrcalc2.patch
index a970430661ac..0ae8f6c1d086 100644
--- a/sagemath-lrcalc2.patch
+++ b/sagemath-lrcalc2.patch
@@ -1,12 +1,13 @@
diff --git a/build/pkgs/lrcalc/checksums.ini b/build/pkgs/lrcalc/checksums.ini
-index 7a0e6a1b96..70de56c40d 100644
+index 7a0e6a1b96..8b8620ba52 100644
--- a/build/pkgs/lrcalc/checksums.ini
+++ b/build/pkgs/lrcalc/checksums.ini
@@ -1,4 +1,5 @@
- tarball=lrcalc-VERSION.tar.gz
+-tarball=lrcalc-VERSION.tar.gz
-sha1=89c288875bc3e3e2919876cb645bdfd7316b5965
-md5=6bba16c0cca9debccd0af847bd3d4a23
-cksum=3738483656
++tarball=liblrcalc-VERSION.tar.gz
+sha1=2a98661eb39c7ef526c932f7886fc3142fd639ab
+md5=7cfa8f67287f2b70a15a833b94bc24b6
+cksum=2250996027
@@ -114,17 +115,123 @@ index 707da176a6..0000000000
---
-2.1.1.1.g1fb337f
-
+diff --git a/build/pkgs/lrcalc/spkg-configure.m4 b/build/pkgs/lrcalc/spkg-configure.m4
+index f2f8b74f8f..da66e31fbc 100644
+--- a/build/pkgs/lrcalc/spkg-configure.m4
++++ b/build/pkgs/lrcalc/spkg-configure.m4
+@@ -2,8 +2,7 @@ SAGE_SPKG_CONFIGURE([lrcalc], [
+ AC_CHECK_HEADERS([lrcalc/schublib.h], [
+ AC_SEARCH_LIBS([mult_poly_schubert], [lrcalc], [], [sage_spkg_install_lrcalc=yes])
+ ], [sage_spkg_install_lrcalc=yes],
+- [[#ifndef _HASHTAB_H
+- #include <lrcalc/hashtab.h>
+- #include <lrcalc/vector.h>
++ [[#ifndef _IVECTOR_H
++ #include <lrcalc/ivector.h>
+ #endif]])
+ ])
diff --git a/build/pkgs/lrcalc/spkg-install.in b/build/pkgs/lrcalc/spkg-install.in
-index d6665bfb42..a34493b776 100644
+index d6665bfb42..a863950189 100644
--- a/build/pkgs/lrcalc/spkg-install.in
+++ b/build/pkgs/lrcalc/spkg-install.in
-@@ -7,3 +7,6 @@ cp "$SAGE_ROOT"/config/config.sub .
+@@ -1,9 +1,5 @@
+ cd src
+
+-# Use newer version of config.guess and config.sub (see Trac #19725)
+-cp "$SAGE_ROOT"/config/config.guess .
+-cp "$SAGE_ROOT"/config/config.sub .
+-
sdh_configure
sdh_make
sdh_make_install
+diff --git a/build/pkgs/lrcalc_python/SPKG.rst b/build/pkgs/lrcalc_python/SPKG.rst
+new file mode 100644
+index 0000000000..cff9d7d7fb
+--- /dev/null
++++ b/build/pkgs/lrcalc_python/SPKG.rst
+@@ -0,0 +1,22 @@
++lrcalc_python: Littlewood-Richardson calculator
++===============================================
++
++Description
++-----------
++
++Python bindings for the Littlewood-Richardson Calculator
++
++http://sites.math.rutgers.edu/~asbuch/lrcalc/
++
++License
++-------
++
++GNU General Public License V2+
++
++
++Upstream Contact
++----------------
+
-+cd python
-+sdh_pip_install .
++Anders S. Buch (asbuch@math.rutgers.edu)
++
++https://bitbucket.org/asbuch/lrcalc
+diff --git a/build/pkgs/lrcalc_python/checksums.ini b/build/pkgs/lrcalc_python/checksums.ini
+new file mode 100644
+index 0000000000..bdfef8711e
+--- /dev/null
++++ b/build/pkgs/lrcalc_python/checksums.ini
+@@ -0,0 +1,5 @@
++tarball=lrcalc-VERSION.tar.gz
++sha1=3e9366d9e8b8beccec70b07d174b8f6683c01574
++md5=4ae444d12ed8e0dd770594ea3ef4a208
++cksum=2741305196
++upstream_url=https://pypi.io/packages/source/l/lrcalc/lrcalc-VERSION.tar.gz
+diff --git a/build/pkgs/lrcalc_python/dependencies b/build/pkgs/lrcalc_python/dependencies
+new file mode 100644
+index 0000000000..63e5177ae0
+--- /dev/null
++++ b/build/pkgs/lrcalc_python/dependencies
+@@ -0,0 +1,5 @@
++$(PYTHON) lrcalc | $(PYTHON_TOOLCHAIN) cython
++
++----------
++All lines of this file are ignored except the first.
++It is copied by SAGE_ROOT/build/make/install into SAGE_ROOT/build/make/Makefile.
+diff --git a/build/pkgs/lrcalc_python/install-requires.txt b/build/pkgs/lrcalc_python/install-requires.txt
+new file mode 100644
+index 0000000000..8b44d97f4b
+--- /dev/null
++++ b/build/pkgs/lrcalc_python/install-requires.txt
+@@ -0,0 +1 @@
++lrcalc ~=2.1
+diff --git a/build/pkgs/lrcalc_python/package-version.txt b/build/pkgs/lrcalc_python/package-version.txt
+new file mode 100644
+index 0000000000..879b416e60
+--- /dev/null
++++ b/build/pkgs/lrcalc_python/package-version.txt
+@@ -0,0 +1 @@
++2.1
+diff --git a/build/pkgs/lrcalc_python/spkg-install.in b/build/pkgs/lrcalc_python/spkg-install.in
+new file mode 100644
+index 0000000000..deba1bb42b
+--- /dev/null
++++ b/build/pkgs/lrcalc_python/spkg-install.in
+@@ -0,0 +1 @@
++cd src && sdh_pip_install .
+diff --git a/build/pkgs/lrcalc_python/type b/build/pkgs/lrcalc_python/type
+new file mode 100644
+index 0000000000..a6a7b9cd72
+--- /dev/null
++++ b/build/pkgs/lrcalc_python/type
+@@ -0,0 +1 @@
++standard
+diff --git a/build/pkgs/sagelib/dependencies b/build/pkgs/sagelib/dependencies
+index 960eb95c1c..a68ac961f1 100644
+--- a/build/pkgs/sagelib/dependencies
++++ b/build/pkgs/sagelib/dependencies
+@@ -1,4 +1,4 @@
+-FORCE $(SCRIPTS) arb boost_cropped $(BLAS) brial cliquer cypari cysignals cython ecl eclib ecm flint libgd gap giac givaro glpk gmpy2 gsl iml jinja2 jupyter_core lcalc lrcalc libbraiding libhomfly libpng linbox m4ri m4rie memory_allocator mpc mpfi mpfr $(MP_LIBRARY) ntl numpy pari pip pkgconfig planarity ppl pplpy pycygwin $(PYTHON) ratpoints rw sage_conf singular symmetrica zn_poly $(PCFILES) | $(PYTHON_TOOLCHAIN) sage_setup
++FORCE $(SCRIPTS) arb boost_cropped $(BLAS) brial cliquer cypari cysignals cython ecl eclib ecm flint libgd gap giac givaro glpk gmpy2 gsl iml jinja2 jupyter_core lcalc lrcalc_python libbraiding libhomfly libpng linbox m4ri m4rie memory_allocator mpc mpfi mpfr $(MP_LIBRARY) ntl numpy pari pip pkgconfig planarity ppl pplpy pycygwin $(PYTHON) ratpoints rw sage_conf singular symmetrica zn_poly $(PCFILES) | $(PYTHON_TOOLCHAIN) sage_setup
+
+ ----------
+ All lines of this file are ignored except the first.
diff --git a/src/sage/libs/lrcalc/lrcalc.pxd b/src/sage/libs/lrcalc/lrcalc.pxd
deleted file mode 100644
index 10b88db93f..0000000000
@@ -212,10 +319,10 @@ diff --git a/src/sage/libs/lrcalc/lrcalc.pyx b/src/sage/libs/lrcalc/lrcalc.py
similarity index 65%
rename from src/sage/libs/lrcalc/lrcalc.pyx
rename to src/sage/libs/lrcalc/lrcalc.py
-index 1cf67dc15a..d4e2f5d538 100644
+index b591081ec4..65db959944 100644
--- a/src/sage/libs/lrcalc/lrcalc.pyx
+++ b/src/sage/libs/lrcalc/lrcalc.py
-@@ -187,180 +187,16 @@ AUTHORS:
+@@ -187,180 +187,24 @@ AUTHORS:
# https://www.gnu.org/licenses/
# ****************************************************************************
@@ -224,7 +331,11 @@ index 1cf67dc15a..d4e2f5d538 100644
from sage.combinat.partition import _Partitions
from sage.combinat.permutation import Permutation
-from sage.combinat.skew_tableau import SkewTableau
--
++from sage.combinat.skew_tableau import SkewTableaux
++from sage.combinat.skew_partition import SkewPartition
++from sage.rings.integer import Integer
++import lrcalc
+
-
-cdef vector* iterable_to_vector(it):
- """
@@ -285,9 +396,12 @@ index 1cf67dc15a..d4e2f5d538 100644
- """
- A wrapper function which transforms the data set ``st`` used in
- ``lrcalc`` to a ``SkewTableau`` in Sage.
--
-- TESTS::
--
++def _lrcalc_dict_to_sage(result):
++ r"""
++ Translate from lrcalc output format to Sage expected format.
+
+ TESTS::
+
- sage: from sage.libs.lrcalc.lrcalc import test_skewtab_to_SkewTableau
- sage: test_skewtab_to_SkewTableau([],[])
- []
@@ -329,11 +443,11 @@ index 1cf67dc15a..d4e2f5d538 100644
-cdef dict sf_hashtab_to_dict(hashtab *ht):
- """
- Return a dictionary representing a Schur function. The keys are
-- partitions and the values are integers <type 'sage.rings.integer.Integer'>.
+- partitions and the values are integers <class 'sage.rings.integer.Integer'>.
-
- EXAMPLES::
-
-- sage: from sage.libs.lrcalc.lrcalc import mult
+ sage: from sage.libs.lrcalc.lrcalc import mult
- sage: sorted(mult([1],[1]).items()) #indirect doctest
- [([1, 1], 1), ([2], 1)]
- sage: assert isinstance(mult([1],[1]),dict)#indirect doctest
@@ -352,7 +466,7 @@ index 1cf67dc15a..d4e2f5d538 100644
-cdef dict schubert_hashtab_to_dict(hashtab *ht):
- """
- Return a dictionary corresponding to a Schubert polynomial whose keys
-- are permutations and whose values are integers <type 'sage.rings.integer.Integer'>.
+- are permutations and whose values are integers <class 'sage.rings.integer.Integer'>.
-
- EXAMPLES::
-
@@ -373,14 +487,16 @@ index 1cf67dc15a..d4e2f5d538 100644
-cdef dict vp_hashtab_to_dict(hashtab *ht):
- """
- Return a dictionary corresponding to the coproduct of a Schur function whose keys are
-- pairs of partitions and whose values are integers <type 'sage.rings.integer.Integer'>.
+- pairs of partitions and whose values are integers <class 'sage.rings.integer.Integer'>.
-
- EXAMPLES::
-
- sage: from sage.libs.lrcalc.lrcalc import coprod
- sage: coprod([1]) #indirect doctest
- {([1], []): 1}
-- """
++ sage: mult([2,1],[3,2,1],3) # indirect doctest
++ {[3, 3, 3]: 1, [4, 3, 2]: 2, [4, 4, 1]: 1, [5, 2, 2]: 1, [5, 3, 1]: 1}
+ """
- cdef hash_itr itr
- cdef vecpair* vp
- cdef dict result = {}
@@ -392,18 +508,12 @@ index 1cf67dc15a..d4e2f5d538 100644
- result[(p1, p2)] = Integer(hash_intvalue(itr))
- hash_next(itr)
- return result
-+from sage.combinat.skew_tableau import SkewTableaux
-+from sage.combinat.skew_partition import SkewPartition
-+from sage.combinat.words.word import Word
-+from sage.rings.integer import Integer
-+import lrcalc
-
-+def _lrcalc_dict_to_sage(result):
-+ return dict({_Partitions(i):Integer(k) for i,k in result.items()})
+-
++ return {_Partitions(la):Integer(k) for la,k in result.items()}
def lrcoef_unsafe(outer, inner1, inner2):
r"""
-@@ -392,18 +228,7 @@ def lrcoef_unsafe(outer, inner1, inner2):
+@@ -392,18 +236,7 @@ def lrcoef_unsafe(outer, inner1, inner2):
sage: lrcoef_unsafe([2,1,1,1,1], [2,1], [2,1])
0
"""
@@ -423,7 +533,7 @@ index 1cf67dc15a..d4e2f5d538 100644
def lrcoef(outer, inner1, inner2):
-@@ -510,44 +335,23 @@ def mult(part1, part2, maxrows=None, level=None, quantum=None):
+@@ -510,44 +343,24 @@ def mult(part1, part2, maxrows=None, level=None, quantum=None):
if quantum is not None and (level is None or maxrows is None):
raise ValueError('missing parameters maxrows or level')
@@ -473,7 +583,8 @@ index 1cf67dc15a..d4e2f5d538 100644
+ P = quantum.parent()
+ output = {}
+ for i,k in result.items():
-+ output[_Partitions(i[0])] = output.get(_Partitions(i[0]), P.zero()) + k*quantum**(i[1])
++ la = _Partitions(i[0])
++ output[la] = output.get(la, P.zero()) + k*quantum**(i[1])
+ return output
+
+
@@ -481,7 +592,7 @@ index 1cf67dc15a..d4e2f5d538 100644
"""
Compute the Schur expansion of a skew Schur function.
-@@ -572,14 +376,7 @@ def skew(outer, inner, maxrows=0):
+@@ -572,14 +385,7 @@ def skew(outer, inner, maxrows=0):
sage: sorted(skew([2,1],[1]).items())
[([1, 1], 1), ([2], 1)]
"""
@@ -497,7 +608,7 @@ index 1cf67dc15a..d4e2f5d538 100644
def coprod(part, all=0):
-@@ -609,12 +406,8 @@ def coprod(part, all=0):
+@@ -609,12 +415,8 @@ def coprod(part, all=0):
sage: sorted(coprod([2,1]).items())
[(([1, 1], [1]), 1), (([2], [1]), 1), (([2, 1], []), 1)]
"""
@@ -508,11 +619,11 @@ index 1cf67dc15a..d4e2f5d538 100644
- hash_free(ht)
- return result
+ result = lrcalc.coprod(part, all)
-+ return dict({tuple(_Partitions(j) for j in i):Integer(k) for i,k in result.items()})
++ return {tuple(_Partitions(mu) for mu in la):Integer(k) for la,k in result.items()}
def mult_schubert(w1, w2, rank=0):
-@@ -646,17 +439,11 @@ def mult_schubert(w1, w2, rank=0):
+@@ -646,17 +448,11 @@ def mult_schubert(w1, w2, rank=0):
([6, 4, 3, 1, 2, 5], 1), ([6, 5, 2, 1, 3, 4], 1),
([7, 3, 4, 1, 2, 5, 6], 1), ([7, 4, 2, 1, 3, 5, 6], 1)]
"""
@@ -525,7 +636,7 @@ index 1cf67dc15a..d4e2f5d538 100644
- hash_free(ht)
- return result
+ result = lrcalc.schubmult(w1, w2, rank)
-+ return dict({Permutation(list(i)):Integer(k) for i,k in result.items()})
++ return {Permutation(list(la)):Integer(k) for la,k in result.items()}
-def lrskew(outer, inner, weight=None, maxrows=0):
@@ -533,7 +644,7 @@ index 1cf67dc15a..d4e2f5d538 100644
r"""
Iterate over the skew LR tableaux of shape ``outer / inner``.
-@@ -703,21 +490,23 @@ def lrskew(outer, inner, weight=None, maxrows=0):
+@@ -703,21 +499,20 @@ def lrskew(outer, inner, weight=None, maxrows=0):
sage: list(lrskew([3,2,1],[2], weight=[3,1]))
[[[None, None, 1], [1, 1], [2]]]
"""
@@ -547,12 +658,9 @@ index 1cf67dc15a..d4e2f5d538 100644
- yield skewtab_to_SkewTableau(st)
- while st_next(st):
- yield skewtab_to_SkewTableau(st)
-+ while True:
-+ try:
-+ word = Word([i+1 for i in next(iterator)])
-+ yield SkewTableaux().from_shape_and_word(shape, word)
-+ except StopIteration:
-+ break
++ ST = SkewTableaux()
++ for data in iterator:
++ yield ST.from_shape_and_word(shape, [i+1 for i in data])
else:
wt = _Partitions(weight)
- r = skewtab_to_SkewTableau(st)
@@ -563,11 +671,11 @@ index 1cf67dc15a..d4e2f5d538 100644
- if r.weight() == wt:
- yield r
- st_free(st)
-+ while True:
-+ try:
-+ word = Word([i+1 for i in next(iterator)])
-+ r = SkewTableaux().from_shape_and_word(shape, word)
-+ if r.weight() == wt:
-+ yield r
-+ except StopIteration:
-+ break
++ ST = SkewTableaux()
++ for data in iterator:
++ m = max(data) + 1
++ w = [0] * m
++ for j in data:
++ w[j] += 1
++ if w == wt:
++ yield ST.from_shape_and_word(shape, [i+1 for i in data])
diff --git a/test-optional.patch b/test-optional.patch
index 51ff9bd5d605..74d084c40020 100644
--- a/test-optional.patch
+++ b/test-optional.patch
@@ -2,24 +2,16 @@ diff --git a/src/sage/doctest/control.py b/src/sage/doctest/control.py
index 2d93841e50..937e20cd2e 100644
--- a/src/sage/doctest/control.py
+++ b/src/sage/doctest/control.py
-@@ -357,20 +357,6 @@ class DocTestController(SageObject):
- # Special case to run all optional tests
- options.optional = True
- else:
-- # We replace the 'optional' tag by all optional
-- # packages for which the installed version matches the
-- # latest available version (this implies in particular
-- # that the package is actually installed).
-- if 'optional' in options.optional:
-- options.optional.discard('optional')
+@@ -357,11 +357,6 @@ class DocTestController(SageObject):
+ # that the package is actually installed).
+ if 'optional' in options.optional:
+ options.optional.discard('optional')
- from sage.misc.package import list_packages
- for pkg in list_packages('optional', local=True).values():
- if pkg['installed'] and pkg['installed_version'] == pkg['remote_version']:
- options.optional.add(pkg['name'])
-
-- from sage.features import package_systems
-- options.optional.update(system.name for system in package_systems())
--
- # Check that all tags are valid
- for o in options.optional:
- if not optionaltag_regex.search(o):
+ from sage.features import package_systems
+ options.optional.update(system.name for system in package_systems())
+
+