From 6a0e3eecd224b6333907117f36ea29d0ddb71f2e Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Sat, 25 Jul 2026 09:03:27 -0700 Subject: [PATCH 01/10] recipes/recipes_emscripten/passagemath-eclib: New --- .../passagemath-eclib/recipe.yaml | 73 +++++++++++++++++++ .../test_passagemath_eclib.py | 5 ++ 2 files changed, 78 insertions(+) create mode 100644 recipes/recipes_emscripten/passagemath-eclib/recipe.yaml create mode 100644 recipes/recipes_emscripten/passagemath-eclib/test_passagemath_eclib.py diff --git a/recipes/recipes_emscripten/passagemath-eclib/recipe.yaml b/recipes/recipes_emscripten/passagemath-eclib/recipe.yaml new file mode 100644 index 00000000000..0fff85c14ba --- /dev/null +++ b/recipes/recipes_emscripten/passagemath-eclib/recipe.yaml @@ -0,0 +1,73 @@ +context: + version: 10.8.6 + +package: + name: passagemath-eclib + version: ${{ version }} + +source: +- url: https://pypi.org/packages/source/p/passagemath-eclib/passagemath_eclib-${{ version }}.tar.gz + sha256: a1938a95ac03bb45b306f8101722764e5cfef8a44bb712481936bed9508d02d3 + +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 + - eclib + - passagemath-categories + - passagemath-flint + - passagemath-linbox + - passagemath-modules + - passagemath-ntl + run: + - python + - cysignals + - passagemath-categories + - passagemath-linbox + - passagemath-modules + - passagemath-ntl + +tests: +- script: pytester + files: + recipe: + - test_passagemath_eclib.py + requirements: + build: + - pytester + run: + - pytester-run + - passagemath-repl + +about: + license: GPL-2.0-or-later + license_file: README.rst + summary: 'passagemath: Elliptic curves over the rationals with eclib/mwrank' + description: | + Distribution of a part of the Sage library. + It provides the Cython interface to John Cremona's programs for enumerating + and computing with elliptic curves defined over the rational numbers. + +extra: + emscripten_tests: + python: + pytest_files: + - test_passagemath_eclib.py + recipe-maintainers: + - mkoeppe diff --git a/recipes/recipes_emscripten/passagemath-eclib/test_passagemath_eclib.py b/recipes/recipes_emscripten/passagemath-eclib/test_passagemath_eclib.py new file mode 100644 index 00000000000..41c75d4bc8f --- /dev/null +++ b/recipes/recipes_emscripten/passagemath-eclib/test_passagemath_eclib.py @@ -0,0 +1,5 @@ +import pytest + + +def test_import_passagemath_eclib(): + import passagemath_eclib From d45ffc555da6f277303f07b9d697f383ad5b9d3d Mon Sep 17 00:00:00 2001 From: Yanshu Wang Date: Fri, 24 Jul 2026 13:32:25 +0800 Subject: [PATCH 02/10] add pari variant.yaml --- recipes/recipes_emscripten/eclib/variant.yaml | 2 ++ recipes/recipes_emscripten/lcalc/variant.yaml | 2 ++ 2 files changed, 4 insertions(+) create mode 100644 recipes/recipes_emscripten/eclib/variant.yaml create mode 100644 recipes/recipes_emscripten/lcalc/variant.yaml diff --git a/recipes/recipes_emscripten/eclib/variant.yaml b/recipes/recipes_emscripten/eclib/variant.yaml new file mode 100644 index 00000000000..2cc1d3fe135 --- /dev/null +++ b/recipes/recipes_emscripten/eclib/variant.yaml @@ -0,0 +1,2 @@ +pari: + - "2.17.*" \ No newline at end of file diff --git a/recipes/recipes_emscripten/lcalc/variant.yaml b/recipes/recipes_emscripten/lcalc/variant.yaml new file mode 100644 index 00000000000..2cc1d3fe135 --- /dev/null +++ b/recipes/recipes_emscripten/lcalc/variant.yaml @@ -0,0 +1,2 @@ +pari: + - "2.17.*" \ No newline at end of file From 3423f1400df2e7c5af05648dbb810d43f762b9f9 Mon Sep 17 00:00:00 2001 From: Yanshu Wang Date: Fri, 24 Jul 2026 13:37:18 +0800 Subject: [PATCH 03/10] change pari version in variant.yaml --- recipes/recipes_emscripten/eclib/variant.yaml | 2 -- recipes/recipes_emscripten/lcalc/variant.yaml | 2 -- 2 files changed, 4 deletions(-) delete mode 100644 recipes/recipes_emscripten/eclib/variant.yaml delete mode 100644 recipes/recipes_emscripten/lcalc/variant.yaml diff --git a/recipes/recipes_emscripten/eclib/variant.yaml b/recipes/recipes_emscripten/eclib/variant.yaml deleted file mode 100644 index 2cc1d3fe135..00000000000 --- a/recipes/recipes_emscripten/eclib/variant.yaml +++ /dev/null @@ -1,2 +0,0 @@ -pari: - - "2.17.*" \ No newline at end of file diff --git a/recipes/recipes_emscripten/lcalc/variant.yaml b/recipes/recipes_emscripten/lcalc/variant.yaml deleted file mode 100644 index 2cc1d3fe135..00000000000 --- a/recipes/recipes_emscripten/lcalc/variant.yaml +++ /dev/null @@ -1,2 +0,0 @@ -pari: - - "2.17.*" \ No newline at end of file From 5ee258d79751449e85e6590da1916e70f1f3d36f Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Sat, 25 Jul 2026 09:33:49 -0700 Subject: [PATCH 04/10] recipes/recipes_emscripten/passagemath-eclib/recipe.yaml: Add numpy dep --- recipes/recipes_emscripten/passagemath-eclib/recipe.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/recipes/recipes_emscripten/passagemath-eclib/recipe.yaml b/recipes/recipes_emscripten/passagemath-eclib/recipe.yaml index 0fff85c14ba..8c55b3b914d 100644 --- a/recipes/recipes_emscripten/passagemath-eclib/recipe.yaml +++ b/recipes/recipes_emscripten/passagemath-eclib/recipe.yaml @@ -26,9 +26,11 @@ requirements: - cython - cysignals - pkgconfig + - numpy - passagemath-abi == ${{ version }} host: - python + - numpy - eclib - passagemath-categories - passagemath-flint From ef7d16c4939f627f4714b3321a6198c504843448 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Sat, 25 Jul 2026 10:02:06 -0700 Subject: [PATCH 05/10] recipes/recipes_emscripten/passagemath-eclib/recipe.yaml: Add host deps --- recipes/recipes_emscripten/passagemath-eclib/recipe.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/recipes/recipes_emscripten/passagemath-eclib/recipe.yaml b/recipes/recipes_emscripten/passagemath-eclib/recipe.yaml index 8c55b3b914d..b775ee2122f 100644 --- a/recipes/recipes_emscripten/passagemath-eclib/recipe.yaml +++ b/recipes/recipes_emscripten/passagemath-eclib/recipe.yaml @@ -32,6 +32,11 @@ requirements: - python - numpy - eclib + - fflas-ffpack + - givaro + - libflint + - linbox + - ntl - passagemath-categories - passagemath-flint - passagemath-linbox From daa3ece20933d6693e8786afc3fcf8583adc50e5 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Sat, 25 Jul 2026 10:30:43 -0700 Subject: [PATCH 06/10] recipes/recipes_emscripten/passagemath-eclib/recipe.yaml: Add host dep gmp --- recipes/recipes_emscripten/passagemath-eclib/recipe.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes/recipes_emscripten/passagemath-eclib/recipe.yaml b/recipes/recipes_emscripten/passagemath-eclib/recipe.yaml index b775ee2122f..3b0dbe8f517 100644 --- a/recipes/recipes_emscripten/passagemath-eclib/recipe.yaml +++ b/recipes/recipes_emscripten/passagemath-eclib/recipe.yaml @@ -34,6 +34,7 @@ requirements: - eclib - fflas-ffpack - givaro + - gmp - libflint - linbox - ntl From 5a3534b8494eae3413227610d1a037230d9b123a Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Sat, 25 Jul 2026 11:09:26 -0700 Subject: [PATCH 07/10] recipes/recipes_emscripten/passagemath-eclib/recipe.yaml: Add host deps mpfr, pari --- recipes/recipes_emscripten/passagemath-eclib/recipe.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/recipes/recipes_emscripten/passagemath-eclib/recipe.yaml b/recipes/recipes_emscripten/passagemath-eclib/recipe.yaml index 3b0dbe8f517..ccc3e0792f8 100644 --- a/recipes/recipes_emscripten/passagemath-eclib/recipe.yaml +++ b/recipes/recipes_emscripten/passagemath-eclib/recipe.yaml @@ -37,7 +37,9 @@ requirements: - gmp - libflint - linbox + - mpfr - ntl + - pari - passagemath-categories - passagemath-flint - passagemath-linbox From a5aedf284afc4999cbeb91ee160fc2ec512de210 Mon Sep 17 00:00:00 2001 From: Yanshu Wang Date: Thu, 30 Jul 2026 12:46:17 -0700 Subject: [PATCH 08/10] recipes/recipes_emscripten/eclib: New --- recipes/recipes_emscripten/eclib/build.sh | 22 +++++++++ recipes/recipes_emscripten/eclib/recipe.yaml | 49 ++++++++++++++++++++ 2 files changed, 71 insertions(+) create mode 100644 recipes/recipes_emscripten/eclib/build.sh create mode 100644 recipes/recipes_emscripten/eclib/recipe.yaml diff --git a/recipes/recipes_emscripten/eclib/build.sh b/recipes/recipes_emscripten/eclib/build.sh new file mode 100644 index 00000000000..ce5052dd3d1 --- /dev/null +++ b/recipes/recipes_emscripten/eclib/build.sh @@ -0,0 +1,22 @@ +#!/bin/bash +set -e + +autoreconf -vfi + +emconfigure ./configure \ + --prefix=$PREFIX \ + --disable-shared \ + --enable-static \ + --with-flint=$PREFIX \ + --with-ntl=$PREFIX \ + --with-pari=$PREFIX \ + CPPFLAGS="-I$PREFIX/include" \ + LDFLAGS="-L$PREFIX/lib" + + +find . -type f -name "Makefile" -exec sed -i 's/^LIBS =.*/& -lmpfr -lgmp/g' {} + + +emmake make +emmake make install + +cp progs/*.wasm $PREFIX/bin diff --git a/recipes/recipes_emscripten/eclib/recipe.yaml b/recipes/recipes_emscripten/eclib/recipe.yaml new file mode 100644 index 00000000000..41d787ca08c --- /dev/null +++ b/recipes/recipes_emscripten/eclib/recipe.yaml @@ -0,0 +1,49 @@ +context: + name: eclib + version: '20250627' + +package: + name: ${{ name }} + version: ${{ version }} + +source: + url: https://github.com/JohnCremona/eclib/releases/download/${{ version }}/eclib-${{ version }}.tar.bz2 + sha256: b88d4b52612e491c5415946d9e35f2062ca1015ee7fbbe0b61f158fa74cb4bc9 + +build: + number: 0 + +requirements: + build: + - autoconf + - automake + - libtool + - make + - ${{ compiler("c") }} + - ${{ compiler('cxx') }} + - pkg-config + - autoconf-archive + host: + - gmp + - ntl + - libflint + - pari + - mpfr + +tests: + - package_contents: + files: + - include/eclib/interface.h + - lib/libec.a + - lib/pkgconfig/eclib.pc + - bin/mwrank + +about: + homepage: https://github.com/JohnCremona/eclib + license: GPL-2.0-only + license_file: COPYING + summary: The eclib package includes mwrank (for 2-descent on elliptic curves over Q) and modular symbol code used to create the elliptic curve database. + +extra: + recipe-maintainers: + - wangyenshu \ No newline at end of file From 9518b7da6c90caf3430fc9a0ae3744c936d427f6 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Thu, 30 Jul 2026 12:47:06 -0700 Subject: [PATCH 09/10] recipes/recipes_emscripten/eclib/recipe.yaml: Change recipe-maintainer --- recipes/recipes_emscripten/eclib/recipe.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/recipes_emscripten/eclib/recipe.yaml b/recipes/recipes_emscripten/eclib/recipe.yaml index 41d787ca08c..b083ccb1f80 100644 --- a/recipes/recipes_emscripten/eclib/recipe.yaml +++ b/recipes/recipes_emscripten/eclib/recipe.yaml @@ -46,4 +46,4 @@ about: extra: recipe-maintainers: - - wangyenshu \ No newline at end of file + - mkoeppe From a2c7e79f53cb9a4749697ad6c00b1e5d62e2e2c8 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Thu, 30 Jul 2026 12:47:51 -0700 Subject: [PATCH 10/10] recipes/recipes_emscripten/passagemath-eclib: Update to 10.8.7 --- recipes/recipes_emscripten/passagemath-eclib/recipe.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/recipes_emscripten/passagemath-eclib/recipe.yaml b/recipes/recipes_emscripten/passagemath-eclib/recipe.yaml index ccc3e0792f8..4309cd3a6ea 100644 --- a/recipes/recipes_emscripten/passagemath-eclib/recipe.yaml +++ b/recipes/recipes_emscripten/passagemath-eclib/recipe.yaml @@ -1,5 +1,5 @@ context: - version: 10.8.6 + version: 10.8.7 package: name: passagemath-eclib @@ -7,7 +7,7 @@ package: source: - url: https://pypi.org/packages/source/p/passagemath-eclib/passagemath_eclib-${{ version }}.tar.gz - sha256: a1938a95ac03bb45b306f8101722764e5cfef8a44bb712481936bed9508d02d3 + sha256: d0be686f01864847c4263abaa045745c1ccbdbbe22485c9d320a1647b57fb90c build: script: ${{ PYTHON }} -m pip install .