From d9f52186790022f782e1ad903a4f7464cc82836e Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Sat, 25 Jul 2026 10:21:05 -0700 Subject: [PATCH 1/6] recipes/recipes_emscripten/passagemath-sympow: New --- .../passagemath-sympow/recipe.yaml | 66 +++++++++++++++++++ .../test_passagemath_sympow.py | 5 ++ 2 files changed, 71 insertions(+) create mode 100644 recipes/recipes_emscripten/passagemath-sympow/recipe.yaml create mode 100644 recipes/recipes_emscripten/passagemath-sympow/test_passagemath_sympow.py diff --git a/recipes/recipes_emscripten/passagemath-sympow/recipe.yaml b/recipes/recipes_emscripten/passagemath-sympow/recipe.yaml new file mode 100644 index 00000000000..c48a3012a72 --- /dev/null +++ b/recipes/recipes_emscripten/passagemath-sympow/recipe.yaml @@ -0,0 +1,66 @@ +context: + version: 10.8.6 + +package: + name: passagemath-sympow + version: ${{ version }} + +source: +- url: https://pypi.org/packages/source/p/passagemath-sympow/passagemath_sympow-${{ version }}.tar.gz + sha256: f9fe3fd26e103660dbceb929c7cf20946ff4bb3de8d355c7b25802d05a697089 + +build: + script: ${{ PYTHON }} -m pip install . + number: 0 + +requirements: + build: + - python + - crossenv >=1.2 + - cross-python_emscripten-wasm32 + - ${{ compiler("c") }} + - ${{ compiler("cxx") }} + - pip + - passagemath-setup + - passagemath-environment + - cython + - cysignals + - pkgconfig + - passagemath-abi == ${{ version }} + host: + - python + - sympow + - passagemath-categories + run: + - python + - cysignals + - sympow + - passagemath-categories + +tests: +- script: pytester + files: + recipe: + - test_passagemath_sympow.py + requirements: + build: + - pytester + run: + - pytester-run + - passagemath-repl + +about: + license: GPL-2.0-or-later + license_file: README.rst + summary: 'passagemath: Special values of symmetric power elliptic curve L-functions with sympow' + description: | + Distribution of a part of the Sage library. + It provides an interface to sympow. + +extra: + emscripten_tests: + python: + pytest_files: + - test_passagemath_sympow.py + recipe-maintainers: + - mkoeppe diff --git a/recipes/recipes_emscripten/passagemath-sympow/test_passagemath_sympow.py b/recipes/recipes_emscripten/passagemath-sympow/test_passagemath_sympow.py new file mode 100644 index 00000000000..bac8a249bef --- /dev/null +++ b/recipes/recipes_emscripten/passagemath-sympow/test_passagemath_sympow.py @@ -0,0 +1,5 @@ +import pytest + + +def test_import_passagemath_sympow(): + import passagemath_sympow From 4363466620520151b83466a3481991f7440e6e87 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Sat, 25 Jul 2026 11:06:26 -0700 Subject: [PATCH 2/6] recipes/recipes_emscripten/passagemath-sympow/recipe.yaml: Add run dep passagemath-modules --- recipes/recipes_emscripten/passagemath-sympow/recipe.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes/recipes_emscripten/passagemath-sympow/recipe.yaml b/recipes/recipes_emscripten/passagemath-sympow/recipe.yaml index c48a3012a72..e1eb76d5767 100644 --- a/recipes/recipes_emscripten/passagemath-sympow/recipe.yaml +++ b/recipes/recipes_emscripten/passagemath-sympow/recipe.yaml @@ -36,6 +36,7 @@ requirements: - cysignals - sympow - passagemath-categories + - passagemath-modules tests: - script: pytester From 9aa1a9e5eea2e6adecf8175c157a47b2b5120749 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Sat, 25 Jul 2026 11:20:33 -0700 Subject: [PATCH 3/6] recipes/recipes_emscripten/passagemath-sympow/recipe.yaml: Add run dep passagemath-linbox --- recipes/recipes_emscripten/passagemath-sympow/recipe.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes/recipes_emscripten/passagemath-sympow/recipe.yaml b/recipes/recipes_emscripten/passagemath-sympow/recipe.yaml index e1eb76d5767..dadb0495211 100644 --- a/recipes/recipes_emscripten/passagemath-sympow/recipe.yaml +++ b/recipes/recipes_emscripten/passagemath-sympow/recipe.yaml @@ -36,6 +36,7 @@ requirements: - cysignals - sympow - passagemath-categories + - passagemath-linbox - passagemath-modules tests: From 24dc06176b1436eb9b99a29f60cf64742bdc2cf7 Mon Sep 17 00:00:00 2001 From: Yanshu Wang Date: Thu, 30 Jul 2026 12:18:18 -0700 Subject: [PATCH 4/6] recipes/recipes_emscripten/sympow: New --- recipes/recipes_emscripten/sympow/build.sh | 25 +++++++++++ recipes/recipes_emscripten/sympow/recipe.yaml | 44 +++++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 recipes/recipes_emscripten/sympow/build.sh create mode 100644 recipes/recipes_emscripten/sympow/recipe.yaml diff --git a/recipes/recipes_emscripten/sympow/build.sh b/recipes/recipes_emscripten/sympow/build.sh new file mode 100644 index 00000000000..89400a7bcb0 --- /dev/null +++ b/recipes/recipes_emscripten/sympow/build.sh @@ -0,0 +1,25 @@ +#!/usr/bin/env bash +set -euxo pipefail + +# Strip architecture-specific flags that might clash with WebAssembly +export CFLAGS="$(echo "${CFLAGS:-}" | sed -E 's/-march=[^ ]+//g; s/-mtune=[^ ]+//g')" + +# Patch the Configure script to evaluate Emscripten's Wasm capabilities via Node.js +sed -i 's|-o config/fpubits|-o config/fpubits.js|g' Configure +sed -i 's|-o config/endiantuple|-o config/endiantuple.js|g' Configure + +sed -i 's|config/fpubits >|node config/fpubits.js >|g' Configure +sed -i 's@^[ \t]*config/fpubits@node config/fpubits.js@g' Configure +sed -i 's|\$(config/endiantuple)|\$(node config/endiantuple.js)|g' Configure + +PREFIX="${PREFIX}" VARPREFIX="${PREFIX}/var" ADDBINPATH=yes sh Configure + +# Patch the generated Makefile for cross-compilation +sed -i 's/\$(HELP2MAN) \$(H2MFLAGS) .*/touch \$@/g' Makefile +sed -i 's/\$(SH) armd.sh/echo "Skipping armd.sh for cross-compilation"/g' Makefile +sed -i '/logfile/d' Makefile +sed -i 's|datafiles/\*.txt ||g' Makefile + +emmake make all CC="emcc" +emmake make install +cp *.wasm $PREFIX/bin \ No newline at end of file diff --git a/recipes/recipes_emscripten/sympow/recipe.yaml b/recipes/recipes_emscripten/sympow/recipe.yaml new file mode 100644 index 00000000000..0e84c37868c --- /dev/null +++ b/recipes/recipes_emscripten/sympow/recipe.yaml @@ -0,0 +1,44 @@ +context: + name: sympow + version: 2.023.7 + +package: + name: ${{ name }} + version: ${{ version }} + +source: + url: https://gitlab.com/rezozer/forks/sympow/-/archive/v${{ version }}/sympow-v${{ version }}.tar.gz + sha256: f19a2b428c573f9e4c36a97b736b562e76f4bfc354497abaeb7140632bef3400 + +build: + number: 0 + +requirements: + build: + - autoconf + - automake + - libtool + - make + - ${{ compiler("c") }} + - ${{ compiler('cxx') }} + - pkg-config + - autoconf-archive + - help2man + - pari + host: + - pari + +tests: + - package_contents: + files: + - bin/sympow + +about: + homepage: https://gitlab.com/rezozer/forks/sympow + license: LicenseRef-sympow + license_file: COPYING + summary: SYMmetric POWer elliptic curve L-functions + +extra: + recipe-maintainers: + - wangyenshu From 12457112289cebd4bbbbeb3b326a6aa25facd9cf Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Thu, 30 Jul 2026 12:19:10 -0700 Subject: [PATCH 5/6] recipes/recipes_emscripten/sympow/recipe.yaml: Change recipe-maintainer --- recipes/recipes_emscripten/sympow/recipe.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/recipes_emscripten/sympow/recipe.yaml b/recipes/recipes_emscripten/sympow/recipe.yaml index 0e84c37868c..ee52c1630de 100644 --- a/recipes/recipes_emscripten/sympow/recipe.yaml +++ b/recipes/recipes_emscripten/sympow/recipe.yaml @@ -41,4 +41,4 @@ about: extra: recipe-maintainers: - - wangyenshu + - mkoeppe From 68bd84b799675b4068a86f042e36a17be8b184e4 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Thu, 30 Jul 2026 12:20:38 -0700 Subject: [PATCH 6/6] recipes/recipes_emscripten/passagemath-sympow: Update to 10.8.7 --- recipes/recipes_emscripten/passagemath-sympow/recipe.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/recipes_emscripten/passagemath-sympow/recipe.yaml b/recipes/recipes_emscripten/passagemath-sympow/recipe.yaml index dadb0495211..1b204cd77ae 100644 --- a/recipes/recipes_emscripten/passagemath-sympow/recipe.yaml +++ b/recipes/recipes_emscripten/passagemath-sympow/recipe.yaml @@ -1,5 +1,5 @@ context: - version: 10.8.6 + version: 10.8.7 package: name: passagemath-sympow @@ -7,7 +7,7 @@ package: source: - url: https://pypi.org/packages/source/p/passagemath-sympow/passagemath_sympow-${{ version }}.tar.gz - sha256: f9fe3fd26e103660dbceb929c7cf20946ff4bb3de8d355c7b25802d05a697089 + sha256: 15adfcdf976e172fa206a02f2e4dff948abfa891eaa11047fd4422cce87c6f5b build: script: ${{ PYTHON }} -m pip install .