From a06b46e0b2ff5d4356685a84760df96c7aca89ba Mon Sep 17 00:00:00 2001 From: emscripten-forge-bot Date: Sun, 26 Jul 2026 02:37:11 +0000 Subject: [PATCH 1/2] Update passagemath-gap from 10.8.6 to 10.8.7 --- recipes/recipes_emscripten/passagemath-gap/recipe.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/recipes_emscripten/passagemath-gap/recipe.yaml b/recipes/recipes_emscripten/passagemath-gap/recipe.yaml index 0b7dfa96cf6..1fac9314ca8 100644 --- a/recipes/recipes_emscripten/passagemath-gap/recipe.yaml +++ b/recipes/recipes_emscripten/passagemath-gap/recipe.yaml @@ -1,5 +1,5 @@ context: - version: 10.8.6 + version: 10.8.7 package: name: passagemath-gap @@ -7,7 +7,7 @@ package: source: - url: https://pypi.org/packages/source/p/passagemath-gap/passagemath_gap-${{ version }}.tar.gz - sha256: 54d7a49506ff4182ccdab99f9185678cf1b899cead706d11688e83b9b5b58550 + sha256: 1b36fbc076ee665f28c7b87f153dfb24449a985169aeb771259b610659f45354 build: script: | From 0750bb9290756b148b44966d0f7800cffcd50234 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Sun, 26 Jul 2026 10:09:23 -0700 Subject: [PATCH 2/2] recipes/recipes_emscripten/passagemath-gap/recipe.yaml: Remove patches included in 10.8.7 --- ...perm_gps-constructor.py-Use-lazy_imp.patch | 30 -------------- ...ces-gap_workspace.py-Do-not-fail-to-.patch | 30 -------------- ...perm_gps-permgroup.py-Use-lazy_impor.patch | 34 ---------------- ...libgap_mixin.py-Use-lazy_import-for-.patch | 39 ------------------- .../passagemath-gap/recipe.yaml | 4 -- 5 files changed, 137 deletions(-) delete mode 100644 recipes/recipes_emscripten/passagemath-gap/patches/0002-src-sage-groups-perm_gps-constructor.py-Use-lazy_imp.patch delete mode 100644 recipes/recipes_emscripten/passagemath-gap/patches/0003-src-sage-interfaces-gap_workspace.py-Do-not-fail-to-.patch delete mode 100644 recipes/recipes_emscripten/passagemath-gap/patches/0004-src-sage-groups-perm_gps-permgroup.py-Use-lazy_impor.patch delete mode 100644 recipes/recipes_emscripten/passagemath-gap/patches/0005-src-sage-groups-libgap_mixin.py-Use-lazy_import-for-.patch diff --git a/recipes/recipes_emscripten/passagemath-gap/patches/0002-src-sage-groups-perm_gps-constructor.py-Use-lazy_imp.patch b/recipes/recipes_emscripten/passagemath-gap/patches/0002-src-sage-groups-perm_gps-constructor.py-Use-lazy_imp.patch deleted file mode 100644 index 6837ced31b4..00000000000 --- a/recipes/recipes_emscripten/passagemath-gap/patches/0002-src-sage-groups-perm_gps-constructor.py-Use-lazy_imp.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 723e8664b6050b9a3c81ce01777e3229190559a1 Mon Sep 17 00:00:00 2001 -From: Matthias Koeppe -Date: Sun, 19 Jul 2026 09:43:45 -0700 -Subject: [PATCH 2/2] src/sage/groups/perm_gps/constructor.py: Use lazy_import - for GapElement - ---- - src/sage/groups/perm_gps/constructor.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/sage/groups/perm_gps/constructor.py b/src/sage/groups/perm_gps/constructor.py -index 97fa050b952..a4bd67c80b4 100644 ---- a/src/sage/groups/perm_gps/constructor.py -+++ b/src/sage/groups/perm_gps/constructor.py -@@ -21,11 +21,11 @@ objects have a more group theoretic flavor than the more combinatorial - # **************************************************************************** - - from sage.groups.perm_gps import permgroup_element --from sage.interfaces.gap import GapElement - from sage.libs.gap.element import GapElement_Permutation - from sage.misc.lazy_import import lazy_import - - lazy_import('sage.combinat.permutation', ['Permutation', 'from_cycles']) -+lazy_import('sage.interfaces.gap', 'GapElement') - lazy_import('sage.misc.sage_eval', 'sage_eval') - - try: --- -2.51.1 - diff --git a/recipes/recipes_emscripten/passagemath-gap/patches/0003-src-sage-interfaces-gap_workspace.py-Do-not-fail-to-.patch b/recipes/recipes_emscripten/passagemath-gap/patches/0003-src-sage-interfaces-gap_workspace.py-Do-not-fail-to-.patch deleted file mode 100644 index 5a9c0859dbd..00000000000 --- a/recipes/recipes_emscripten/passagemath-gap/patches/0003-src-sage-interfaces-gap_workspace.py-Do-not-fail-to-.patch +++ /dev/null @@ -1,30 +0,0 @@ -From d03a9e4e5719eb171e5f2e4abf84c30bc26ac668 Mon Sep 17 00:00:00 2001 -From: Matthias Koeppe -Date: Sun, 19 Jul 2026 10:21:27 -0700 -Subject: [PATCH 3/3] src/sage/interfaces/gap_workspace.py: Do not fail to - compute workspace hash on emscripten - ---- - src/sage/interfaces/gap_workspace.py | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/src/sage/interfaces/gap_workspace.py b/src/sage/interfaces/gap_workspace.py -index 9d3c28b9374..63803903d3b 100644 ---- a/src/sage/interfaces/gap_workspace.py -+++ b/src/sage/interfaces/gap_workspace.py -@@ -69,7 +69,11 @@ def gap_workspace_file(system='gap', name='workspace', dir=None): - continue - sysinfo = os.path.join(path, "sysinfo.gap") - if os.path.exists(sysinfo): -- data += subprocess.getoutput(f'. "{sysinfo}" && echo ":$GAP_VERSION:$GAParch"') -+ try: -+ data += subprocess.getoutput(f'. "{sysinfo}" && echo ":$GAP_VERSION:$GAParch"') -+ break -+ except OSError: # emscripten -+ pass - h = hashlib.sha1(data.encode('utf-8')).hexdigest() - return os.path.join(dir, f'{system}-{name}-{HOSTNAME}-{h}') - --- -2.51.1 - diff --git a/recipes/recipes_emscripten/passagemath-gap/patches/0004-src-sage-groups-perm_gps-permgroup.py-Use-lazy_impor.patch b/recipes/recipes_emscripten/passagemath-gap/patches/0004-src-sage-groups-perm_gps-permgroup.py-Use-lazy_impor.patch deleted file mode 100644 index ef06cf39cd4..00000000000 --- a/recipes/recipes_emscripten/passagemath-gap/patches/0004-src-sage-groups-perm_gps-permgroup.py-Use-lazy_impor.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 59541907a298d86457183e3c6bac760d47594b48 Mon Sep 17 00:00:00 2001 -From: Matthias Koeppe -Date: Sun, 19 Jul 2026 10:27:58 -0700 -Subject: [PATCH 4/4] src/sage/groups/perm_gps/permgroup.py: Use lazy_import - for ClassFunction_libgap, ConjugacyClassGAP - ---- - src/sage/groups/perm_gps/permgroup.py | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/sage/groups/perm_gps/permgroup.py b/src/sage/groups/perm_gps/permgroup.py -index 2291c396e32..ff953c578e1 100644 ---- a/src/sage/groups/perm_gps/permgroup.py -+++ b/src/sage/groups/perm_gps/permgroup.py -@@ -149,14 +149,14 @@ from sage.groups.perm_gps.permgroup_element import PermutationGroupElement - from sage.groups.perm_gps.constructor import PermutationGroupElement as PermutationConstructor, standardize_generator - from sage.misc.cachefunc import cached_method - from sage.misc.lazy_import import lazy_import --from sage.groups.class_function import ClassFunction_libgap - from sage.sets.finite_enumerated_set import FiniteEnumeratedSet - from sage.categories.finite_enumerated_sets import FiniteEnumeratedSets --from sage.groups.conjugacy_classes import ConjugacyClassGAP - from sage.structure.richcmp import (richcmp_method, - richcmp, rich_to_bool, op_EQ, op_NE) - - lazy_import('sage.groups.abelian_gps.abelian_group', 'AbelianGroup') -+lazy_import('sage.groups.class_function', 'ClassFunction_libgap') -+lazy_import('sage.groups.conjugacy_classes', 'ConjugacyClassGAP') - - - def load_hap(): --- -2.51.1 - diff --git a/recipes/recipes_emscripten/passagemath-gap/patches/0005-src-sage-groups-libgap_mixin.py-Use-lazy_import-for-.patch b/recipes/recipes_emscripten/passagemath-gap/patches/0005-src-sage-groups-libgap_mixin.py-Use-lazy_import-for-.patch deleted file mode 100644 index e072586f88b..00000000000 --- a/recipes/recipes_emscripten/passagemath-gap/patches/0005-src-sage-groups-libgap_mixin.py-Use-lazy_import-for-.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 589977ba7d3eee904cf6aadd7e0d1b9e5619d2dc Mon Sep 17 00:00:00 2001 -From: Matthias Koeppe -Date: Sun, 19 Jul 2026 10:43:09 -0700 -Subject: [PATCH 5/5] src/sage/groups/libgap_mixin.py: Use lazy_import for - ClassFunction_libgap - ---- - src/sage/groups/libgap_mixin.py | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/src/sage/groups/libgap_mixin.py b/src/sage/groups/libgap_mixin.py -index b26e33ef792..0a01d374a29 100644 ---- a/src/sage/groups/libgap_mixin.py -+++ b/src/sage/groups/libgap_mixin.py -@@ -17,10 +17,12 @@ from sage.libs.gap.libgap import libgap - from sage.libs.gap.element import GapElement - from sage.structure.element import parent - from sage.misc.cachefunc import cached_method -+from sage.misc.lazy_import import lazy_import - from sage.misc.randstate import current_randstate --from sage.groups.class_function import ClassFunction_libgap - from sage.groups.libgap_wrapper import ElementLibGAP - -+lazy_import('sage.groups.class_function', 'ClassFunction_libgap') -+ - - class GroupMixinLibGAP: - def __contains__(self, elt) -> bool: -@@ -341,7 +343,6 @@ class GroupMixinLibGAP: - sage: list(chi) # needs sage.rings.number_field - [0, 1, 2, 3, 4, 5, 6, 7] - """ -- from sage.groups.class_function import ClassFunction_libgap - return ClassFunction_libgap(self, values) - - @cached_method --- -2.51.1 - diff --git a/recipes/recipes_emscripten/passagemath-gap/recipe.yaml b/recipes/recipes_emscripten/passagemath-gap/recipe.yaml index 1fac9314ca8..56628185e5d 100644 --- a/recipes/recipes_emscripten/passagemath-gap/recipe.yaml +++ b/recipes/recipes_emscripten/passagemath-gap/recipe.yaml @@ -11,10 +11,6 @@ source: build: script: | - patch -p2 < ${RECIPE_DIR}/patches/0002-src-sage-groups-perm_gps-constructor.py-Use-lazy_imp.patch - patch -p2 < ${RECIPE_DIR}/patches/0003-src-sage-interfaces-gap_workspace.py-Do-not-fail-to-.patch - patch -p2 < ${RECIPE_DIR}/patches/0004-src-sage-groups-perm_gps-permgroup.py-Use-lazy_impor.patch - patch -p2 < ${RECIPE_DIR}/patches/0005-src-sage-groups-libgap_mixin.py-Use-lazy_import-for-.patch ${{ PYTHON }} -m pip install . number: 0