diff options
author | Antonio Rojas | 2021-10-22 09:03:58 +0200 |
---|---|---|
committer | Antonio Rojas | 2021-10-22 09:03:58 +0200 |
commit | de5a51506a881e853e86d45ab104b3bbf92b3933 (patch) | |
tree | 740056ec383a91d0f84667c192f316b84a49927a | |
parent | ff5e9a588bcd056ee0f45868a1343b4bbbea8d72 (diff) | |
download | aur-de5a51506a881e853e86d45ab104b3bbf92b3933.tar.gz |
Rebase patches
-rw-r--r-- | .SRCINFO | 6 | ||||
-rw-r--r-- | PKGBUILD | 6 | ||||
-rw-r--r-- | sagemath-lrcalc2.patch | 204 | ||||
-rw-r--r-- | test-optional.patch | 24 |
4 files changed, 170 insertions, 70 deletions
@@ -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 @@ -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()) + + |