From 9cbd6905f20c3793cd4f296ff2def950e7986c43 Mon Sep 17 00:00:00 2001 From: Agriya Khetarpal <74401230+agriyakhetarpal@users.noreply.github.com> Date: Fri, 16 May 2025 13:26:56 +0530 Subject: [PATCH 01/10] Fix `python-flint` build failure --- packages/python-flint/meta.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/python-flint/meta.yaml b/packages/python-flint/meta.yaml index b690cc47..806dc26c 100644 --- a/packages/python-flint/meta.yaml +++ b/packages/python-flint/meta.yaml @@ -1,6 +1,6 @@ package: name: python-flint - version: 0.6.0 + version: 0.7.1 top-level: - flint requirements: @@ -9,8 +9,8 @@ requirements: - libgmp - libmpfr source: - url: https://files.pythonhosted.org/packages/16/3a/d129f056475191377a823efe9876656a81d563bb7463d0f8568ebee81ef6/python-flint-0.6.0.tar.gz - sha256: f829e00774534891b38de41bc511cf6c7d6d216544a6a84b92d9e1f159de0878 + url: https://files.pythonhosted.org/packages/source/p/python_flint/python_flint-0.7.1.tar.gz + sha256: 8594cdbcba0c29503eefca76dfca37fe2388f11ee95c8d1f74e47006b97ce6d2 build: cflags: | -I$(WASM_LIBRARY_DIR)/include From 2bc8a96b9a58159053ad40554e021ad0bd63ad85 Mon Sep 17 00:00:00 2001 From: Agriya Khetarpal <74401230+agriyakhetarpal@users.noreply.github.com> Date: Fri, 16 May 2025 14:24:16 +0530 Subject: [PATCH 02/10] Fix `python-flint` build failure [full build] From e4b019e1f3ebdd652ac22f2b9d80fc5aa7857360 Mon Sep 17 00:00:00 2001 From: Agriya Khetarpal <74401230+agriyakhetarpal@users.noreply.github.com> Date: Fri, 16 May 2025 15:01:49 +0530 Subject: [PATCH 03/10] Trigger CI again From a04ef5c834de113530cd4b1e85cbbd8af0b2ac15 Mon Sep 17 00:00:00 2001 From: Agriya Khetarpal <74401230+agriyakhetarpal@users.noreply.github.com> Date: Fri, 16 May 2025 18:09:14 +0530 Subject: [PATCH 04/10] Bump flint --- packages/flint/meta.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/flint/meta.yaml b/packages/flint/meta.yaml index ae42bcd0..c3c2a6be 100644 --- a/packages/flint/meta.yaml +++ b/packages/flint/meta.yaml @@ -1,12 +1,12 @@ package: name: flint - version: 3.0.1 + version: 3.2.2 tag: - library - static_library source: - url: https://github.com/flintlib/flint/releases/download/v3.0.1/flint-3.0.1.tar.gz - sha256: 7b311a00503a863881eb8177dbeb84322f29399f3d7d72f3b1a4c9ba1d5794b4 + url: https://github.com/flintlib/flint/releases/download/v3.2.2/flint-3.2.2.tar.gz + sha256: 577d7729e4c2e79ca1e894ad2ce34bc73516a92f623d42562694817f888a17eb patches: - patches/0001-Makefile.in-fix-handling-of-DESTDIR.patch requirements: From 3e316557b69afb5a8c84ff3ca6777f42be27071e Mon Sep 17 00:00:00 2001 From: Agriya Khetarpal <74401230+agriyakhetarpal@users.noreply.github.com> Date: Fri, 16 May 2025 19:25:59 +0530 Subject: [PATCH 05/10] Drop flint patch --- packages/flint/meta.yaml | 2 - ...-Makefile.in-fix-handling-of-DESTDIR.patch | 108 ------------------ 2 files changed, 110 deletions(-) delete mode 100644 packages/flint/patches/0001-Makefile.in-fix-handling-of-DESTDIR.patch diff --git a/packages/flint/meta.yaml b/packages/flint/meta.yaml index c3c2a6be..edf43e22 100644 --- a/packages/flint/meta.yaml +++ b/packages/flint/meta.yaml @@ -7,8 +7,6 @@ package: source: url: https://github.com/flintlib/flint/releases/download/v3.2.2/flint-3.2.2.tar.gz sha256: 577d7729e4c2e79ca1e894ad2ce34bc73516a92f623d42562694817f888a17eb - patches: - - patches/0001-Makefile.in-fix-handling-of-DESTDIR.patch requirements: host: - libgmp diff --git a/packages/flint/patches/0001-Makefile.in-fix-handling-of-DESTDIR.patch b/packages/flint/patches/0001-Makefile.in-fix-handling-of-DESTDIR.patch deleted file mode 100644 index 06c75c41..00000000 --- a/packages/flint/patches/0001-Makefile.in-fix-handling-of-DESTDIR.patch +++ /dev/null @@ -1,108 +0,0 @@ -From 54277f054f13254898c9a57c2c7eb869877e1252 Mon Sep 17 00:00:00 2001 -From: Marc Mezzarobba -Date: Mon, 13 Nov 2023 10:23:54 +0100 -Subject: [PATCH] Makefile.in: fix handling of $DESTDIR - -This patch is taken from https://github.com/sagemath/sage/tree/develop/build/pkgs/flint - ---- - Makefile.in | 54 ++++++++++++++++++++++++++--------------------------- - 1 file changed, 27 insertions(+), 27 deletions(-) - -diff --git a/Makefile.in b/Makefile.in -index 08db6837c..2827b9da1 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -34,9 +34,9 @@ FLINT_SOLIB:=@FLINT_SOLIB@ - prefix:=@prefix@ - exec_prefix:=@exec_prefix@ - --INCLUDEDIR:=$(DESTDIR)@includedir@ --LIBDIR:=$(DESTDIR)@libdir@ --BINDIR:=$(DESTDIR)@bindir@ -+INCLUDEDIR:=@includedir@ -+LIBDIR:=@libdir@ -+BINDIR:=@bindir@ - PKGCONFIGDIR:=$(LIBDIR)/pkgconfig - - HOST_OS:=@host_os@ -@@ -202,10 +202,10 @@ BUILD_DIRS += \ - endif - - INSTALL_DIRS := \ -- $(LIBDIR) $(INCLUDEDIR)/flint \ -- $(PKGCONFIGDIR) -+ $(DESTDIR)$(LIBDIR) $(DESTDIR)$(INCLUDEDIR)/flint \ -+ $(DESTDIR)$(PKGCONFIGDIR) - ifneq ($(FLINT_DLLLIB),0) --INSTALL_DIRS += $(BINDIR) -+INSTALL_DIRS += $(DESTDIR)$(BINDIR) - endif - - ################################################################################ -@@ -722,41 +722,41 @@ distclean: clean - ################################################################################ - - install: library | $(INSTALL_DIRS) -- $(CP) flint.pc $(PKGCONFIGDIR)/flint.pc -+ $(CP) flint.pc $(DESTDIR)$(PKGCONFIGDIR)/flint.pc - ifneq ($(SHARED), 0) - ifneq ($(FLINT_DLLLIB),0) -- $(CP_A) $(FLINT_DIR)/$(FLINT_LIB) $(BINDIR) -- $(CP_A) $(FLINT_DIR)/$(FLINT_LIB_MAJOR) $(BINDIR) -- $(CP_A) $(FLINT_DIR)/$(FLINT_LIB_FULL) $(BINDIR) -- $(CP) $(FLINT_DIR)/$(FLINT_IMPLIB) $(LIBDIR) -+ $(CP_A) $(FLINT_DIR)/$(FLINT_LIB) $(DESTDIR)$(BINDIR) -+ $(CP_A) $(FLINT_DIR)/$(FLINT_LIB_MAJOR) $(DESTDIR)$(BINDIR) -+ $(CP_A) $(FLINT_DIR)/$(FLINT_LIB_FULL) $(DESTDIR)$(BINDIR) -+ $(CP) $(FLINT_DIR)/$(FLINT_IMPLIB) $(DESTDIR)$(LIBDIR) - else -- $(CP_A) $(FLINT_DIR)/$(FLINT_LIB) $(LIBDIR) -- $(CP_A) $(FLINT_DIR)/$(FLINT_LIB_MAJOR) $(LIBDIR) -- $(CP_A) $(FLINT_DIR)/$(FLINT_LIB_FULL) $(LIBDIR) -+ $(CP_A) $(FLINT_DIR)/$(FLINT_LIB) $(DESTDIR)$(LIBDIR) -+ $(CP_A) $(FLINT_DIR)/$(FLINT_LIB_MAJOR) $(DESTDIR)$(LIBDIR) -+ $(CP_A) $(FLINT_DIR)/$(FLINT_LIB_FULL) $(DESTDIR)$(LIBDIR) - endif - ifneq ($(FLINT_DYLIB),0) -- install_name_tool -id $(LIBDIR)/$(FLINT_LIB_FULL) $(LIBDIR)/$(FLINT_LIB) -+ install_name_tool -id $(LIBDIR)/$(FLINT_LIB_FULL) $(DESTDIR)$(LIBDIR)/$(FLINT_LIB) - endif - endif - ifneq ($(STATIC), 0) -- $(CP) $(FLINT_DIR)/$(FLINT_LIB_STATIC) $(LIBDIR) -+ $(CP) $(FLINT_DIR)/$(FLINT_LIB_STATIC) $(DESTDIR)$(LIBDIR) - endif -- $(CP) $(HEADERS) $(INCLUDEDIR)/flint -+ $(CP) $(HEADERS) $(DESTDIR)$(INCLUDEDIR)/flint - - uninstall: -- $(RM_F) $(PKGCONFIGDIR)/flint.pc -+ $(RM_F) $(DESTDIR)$(PKGCONFIGDIR)/flint.pc - ifneq ($(FLINT_DLLLIB),0) -- $(RM_F) $(BINDIR)/$(FLINT_LIB) -- $(RM_F) $(BINDIR)/$(FLINT_LIB_MAJOR) -- $(RM_F) $(BINDIR)/$(FLINT_LIB_FULL) -- $(RM_F) $(LIBDIR)/$(FLINT_IMPLIB) -+ $(RM_F) $(DESTDIR)$(BINDIR)/$(FLINT_LIB) -+ $(RM_F) $(DESTDIR)$(BINDIR)/$(FLINT_LIB_MAJOR) -+ $(RM_F) $(DESTDIR)$(BINDIR)/$(FLINT_LIB_FULL) -+ $(RM_F) $(DESTDIR)$(LIBDIR)/$(FLINT_IMPLIB) - else -- $(RM_F) $(LIBDIR)/$(FLINT_LIB) -- $(RM_F) $(LIBDIR)/$(FLINT_LIB_MAJOR) -- $(RM_F) $(LIBDIR)/$(FLINT_LIB_FULL) -+ $(RM_F) $(DESTDIR)$(LIBDIR)/$(FLINT_LIB) -+ $(RM_F) $(DESTDIR)$(LIBDIR)/$(FLINT_LIB_MAJOR) -+ $(RM_F) $(DESTDIR)$(LIBDIR)/$(FLINT_LIB_FULL) - endif -- $(RM_F) $(LIBDIR)/$(FLINT_LIB_STATIC) -- $(RM_RF) $(INCLUDEDIR)/flint -+ $(RM_F) $(DESTDIR)$(LIBDIR)/$(FLINT_LIB_STATIC) -+ $(RM_RF) $(DESTDIR)$(INCLUDEDIR)/flint - - ################################################################################ - # maintainer stuff --- -2.42.0 - From 883ed2f748b231f847c3c4d342d725905479ebe1 Mon Sep 17 00:00:00 2001 From: Agriya Khetarpal <74401230+agriyakhetarpal@users.noreply.github.com> Date: Sat, 17 May 2025 02:45:47 +0530 Subject: [PATCH 06/10] Set WASM target triplet --- packages/flint/meta.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/flint/meta.yaml b/packages/flint/meta.yaml index edf43e22..52db002d 100644 --- a/packages/flint/meta.yaml +++ b/packages/flint/meta.yaml @@ -21,7 +21,8 @@ build: --disable-shared \ --prefix=${WASM_LIBRARY_DIR} \ --with-gmp=${WASM_LIBRARY_DIR} \ - --with-mpfr=${WASM_LIBRARY_DIR} + --with-mpfr=${WASM_LIBRARY_DIR} \ + --host=wasm32-unknown-emscripten \ emmake make -j ${PYODIDE_JOBS:-3} emmake make install about: From a447263fe5d363e49e98640b9aada356913d68f4 Mon Sep 17 00:00:00 2001 From: Agriya Khetarpal <74401230+agriyakhetarpal@users.noreply.github.com> Date: Sat, 17 May 2025 02:46:02 +0530 Subject: [PATCH 07/10] Disable assembly codegen and pthread --- packages/flint/meta.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/flint/meta.yaml b/packages/flint/meta.yaml index 52db002d..a13529e7 100644 --- a/packages/flint/meta.yaml +++ b/packages/flint/meta.yaml @@ -23,6 +23,8 @@ build: --with-gmp=${WASM_LIBRARY_DIR} \ --with-mpfr=${WASM_LIBRARY_DIR} \ --host=wasm32-unknown-emscripten \ + --disable-assembly \ + --disable-pthread emmake make -j ${PYODIDE_JOBS:-3} emmake make install about: From 62c712eb1881ec1b9f451fe29e99f8eca03e831d Mon Sep 17 00:00:00 2001 From: Agriya Khetarpal <74401230+agriyakhetarpal@users.noreply.github.com> Date: Sat, 17 May 2025 05:13:48 +0530 Subject: [PATCH 08/10] Try out `pytest-xdist` --- .github/workflows/build.yml | 2 ++ requirements.txt | 1 + 2 files changed, 3 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1c4866a3..e5b0b02b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -24,6 +24,7 @@ env: EMSDK_CACHE_NUMBER: 0 CCACHE_DIR: /tmp/.ccache CCACHE_CACHE_NUMBER: 0 + FORCE_COLOR: 3 jobs: build: @@ -296,6 +297,7 @@ jobs: run: | pytest -v \ --dist-dir=./dist/ \ + -n auto \ --runner=${{ matrix.test-config.runner }} \ --rt ${{ matrix.test-config.runtime }} \ packages diff --git a/requirements.txt b/requirements.txt index 14e19dd6..646d6698 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,5 @@ pytest +pytest-xdist pytest-pyodide==0.58.3 pytest-httpserver pytest-benchmark From 79aa98b33f0e95b4c8dc622754f2db05ecce4a15 Mon Sep 17 00:00:00 2001 From: Agriya Khetarpal <74401230+agriyakhetarpal@users.noreply.github.com> Date: Sat, 17 May 2025 05:45:08 +0530 Subject: [PATCH 09/10] `test_python_flint_tests` timing out on Chrome --- packages/python-flint/test_python_flint.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/python-flint/test_python_flint.py b/packages/python-flint/test_python_flint.py index 5362ea45..c913da6b 100644 --- a/packages/python-flint/test_python_flint.py +++ b/packages/python-flint/test_python_flint.py @@ -14,7 +14,7 @@ def test_python_flint(selenium): assert a.gcd(a * b) == a -@pytest.mark.xfail_browsers(firefox="times out") +@pytest.mark.xfail_browsers(firefox="times out", chrome="times out") @run_in_pyodide(packages=["python-flint"]) def test_python_flint_tests(selenium): from flint.test.__main__ import main From b99b25310cba98ff766d02362b2bdec07ac3fc0b Mon Sep 17 00:00:00 2001 From: Agriya Khetarpal <74401230+agriyakhetarpal@users.noreply.github.com> Date: Tue, 20 May 2025 04:23:34 +0530 Subject: [PATCH 10/10] Use `-n $(nproc)` instead of `-n auto` --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e5b0b02b..cea21390 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -297,7 +297,7 @@ jobs: run: | pytest -v \ --dist-dir=./dist/ \ - -n auto \ + -n $(nproc) \ --runner=${{ matrix.test-config.runner }} \ --rt ${{ matrix.test-config.runtime }} \ packages