-
Notifications
You must be signed in to change notification settings - Fork 11
Description
Porting to Windows is motivated, in part, by the fact that it is one of the major platforms supported by the theorem prover LEAN/mathlib (#1025).
Technology: Building packages in the Sage distribution using MinGW, then building native Windows Python packages that link to the DLLs.
- Build Windows wheels for passagemath-objects, passagemath-categories #1057
- ci-wheels.yml: Add testing with windows-2022 #1072
- dist-wheels-windows.yml: Use delvewheel #1074
- build/bin/sage-dist-helpers (sdh_generate_windows_lib_files): New #1084
- Build Windows wheels for passagemath-combinat #1083
- Build Windows wheels for passagemath-planarity #1090
- Build Windows wheels for passagemath-cliquer #1091
- Windows wheels: Add delvewheel placeholders in more files #1087
- Build Windows wheels for passagemath-homfly #1094
- Build Windows wheels for passagemath-rankwidth #1095
- Build Windows wheels for passagemath-cddlib #1096
sage.doctest: Import fixes for Windows #1110 / src/sage/doctest/reporting.py: Fix imports of signals #1153- Add reusable CI for MinGW build #1119
build/pkgs/curl: Update to 8.14.1 #1120- build/pkgs/zlib: Update to 1.3.1, add MinGW patches #1123 / build/pkgs/zlib: Apply mingw patches only on mingw #1136
- build/pkgs/ncurses: Update to 6.5 #1127 / Revert "build/pkgs/ncurses: Update to 6.5" #1137
- ci-mingw.yml: Only build non-Python packages for now #1122
- Build all cmake packages using ninja #1121
- build/bin/sage-spkg [mingw]: Fix up the workaround for staging #1135
- Test on and build wheels for Windows ARM #1138
- Build Windows wheels for passagemath-graphs #1081
- build/pkgs/ninja_build: Upgrade to 1.13.0 #1139
- mingw.yml, dist-wheels-windows.yml: Make sure that config.log is saved in logs artifacts #1141
- Use MINGW_PACKAGE_PREFIX in mingw system package info #1143
- dist-wheels-windows.yml: Use system ncurses, readline, info #1144
- .github/workflows/dist-wheels-windows.yml: Install bison as a system package #1147
- Replace C99
double complexby C++std::complex<double>#1150 / src/sage_setup/autogen/interpreters/internal/generator.py: Make sure '# distutils:' directive is at top of file #1174 / src/sage_setup/autogen/interpreters/internal: Fix up error return #1220 - Replace use of
drand48andrandominsrc/sage/stats/distributions/dgs*#1151 / Replace use of drand48 and random in src/sage/stats/distributions/dgs* (revised) #1195 - tools/cibw_before_all_windows.sh: Use --disable-python-distutils-check #1152
- Build Windows wheels for passagemath-modules #1077 / .github/workflows/dist-wheels-windows.yml: Also test passagemath-modules #1158
- {dist-wheels-windows,mingw}.yml: Use msystem=clangarm64 if on ARM #1166
- Build Windows wheels for passagemath-plot #1163
build/pkgs/primecount: Upgrade to 7.19,primesieveto 12.9, use sdh_generate_windows_lib_files #1168- Build Windows wheels for passagemath-glpk #1088 / Fix zlib for passagemath-glpk #1170 / build/bin/sage-dist-helpers (sdh_generate_windows_lib_files): Make sure zlib1.dll -> zlib.lib #1173
- .github/workflows/ci-wheels.yml: Test Windows ARM wheels too #1167
- .github/workflows/dist-wheels-windows.yml: Use GITHUB_WORKSPACE #1188
- Fixes for Windows wheel build #1192
- build/pkgs/{boost_cropped,gc,gmp}: Work around build/install problems on mingw64 ARM #1194
- build/pkgs/glpk/spkg-install.in [mingw]: Use -no-undefined, run autoreconf #1200
- build/pkgs/flint: Build fixes for Windows #1207
- Build Windows wheels for passagemath-cmr #1118
- dist-wheels-windows.yml: Prebuild cysignals with config-settings #1208
- Build Windows wheels for passagemath-flint #1202
- Build Windows wheels for passagemath-ntl #1175
- Build Windows wheels for passagemath-ecl #1086
- Build Windows wheels for passagemath-nauty #1089
- Build Windows wheels for passagemath-tachyon #1092
- Build Windows wheels for passagemath-brial #1097
- Build Windows wheels for passagemath-palp #1098
- Build Windows wheels for passagemath-coxeter3 #1099
- Build Windows wheels for passagemath-mcqd #1100
- Build Windows wheels for passagemath-tdlib #1101
- Build Windows wheels for passagemath-msolve #1102
- Build Windows wheels for passagemath-latte-4ti2 #1103
- Build Windows wheels for passagemath-glucose #1104
- Build Windows wheels for passagemath-kissat #1105
- Build Windows wheels for passagemath-plantri #1107
- Build Windows wheels for passagemath-buckygen #1111
- Build Windows wheels for passagemath-benzene #1112
- Build Windows wheels for passagemath-rubiks #1113
- Build Windows wheels for passagemath-qepcad #1114
- Build Windows wheels for passagemath-frobby #1115
- Build Windows wheels for passagemath-lrslib #1116
- Build Windows wheels for passagemath-topcom #1117
- Build Windows wheels for passagemath-bliss #1124
- Build Windows wheels for passagemath-pari #1142
- Build Windows wheels for passagemath-lcalc #1145
- Build Windows wheels for passagemath-sympow #1146
- Windows normaliz #1191
- Build Windows wheels for passagemath-gap #1218
- Windows arm64: openblas fails to build #1196 /
build/pkgs/openblas: Upgrade to 0.3.30, import mingw64 patches #1201 - Windows ARM: cysignals fails to build #1198
- Build Windows wheels for passagemath-sirocco #1380
- Add reusable CI and devcontainer for mingw build #1069
- passagemath-rankwidth Windows ARM wheels fail to build #1861
- Windows wheel test errors #1892
PRs/Issues for wheel-building of upstream projects
- cysignals: Windows x86_64 Python on ARM host: Building cysignals fails with architecture mismatch #1242
- fpylll: .github/workflows/release.yml: Build Windows wheels fplll/fpylll#308 / Fails to build on MinGW - sys/resource.h: No such file or directory fplll/fplll#542
- lrcalc: wheel-building script in https://github.com/passagemath/upstream-lrcalc
- gmpy2: Build Windows ARM wheels gmpy2/gmpy2#581
- libbraiding:
lib/Makefile.am: Use-no-undefined(for mingw32) miguelmarco/libbraiding#5 - pplitepy: .github/workflows/dist.yml: Repair Linux wheel build, add Windows wheel build ComboProblem/pplitepy#6; next needs flint
- pplpy: Forked as https://github.com/passagemath/passagemath-ppl
- primecountpy: Forked as https://github.com/passagemath/passagemath-primesieve-primecount; mingw-w64:
One or both of BUILD_SHARED_LIBS or BUILD_STATIC_LIBS must be set to ON!kimwalisch/primecount#89, build/pkgs/primecount: Add patch for Windows #1177; Windows build failure passagemath-primesieve-primecount#3 - pynormaliz: .github/workflows/dist.yml: Build Windows wheels Normaliz/PyNormaliz#120; next needs flint, nauty
- python-flint: Build Windows ARM wheels flintlib/python-flint#298
See also:
- Add passagemath - general purpose mathematical system (SageMath fork) msys2/MINGW-packages#24738
- Upstream projects with missing wheels on PyPI #347
- Update CI workflows in upstream projects using passagemath's reusable workflows #704
References:
- https://github.com/aleaxit/gmpy/blob/master/.github/workflows/build_wheels.yml
- https://github.com/aleaxit/gmpy/blob/master/scripts/cibw_before_all.sh
- https://github.com/aleaxit/gmpy/blob/master/scripts/cibw_repair_wheel_command_windows.sh
- https://github.com/msys2/setup-msys2
- https://github.com/flintlib/python-flint/blob/main/.github/workflows/buildwheel.yml#L36 uses pkgconfiglite
- https://www.msys2.org/get-involved/
- https://discord.com/channels/792780131906617355/794220101741838401/1391107043485810801
- https://github.com/aleaxit/gmpy/pull/582/files
Unrelated effort in upstream sage:
- Native Windows build sagemath/sage#38872
- Meta: Native Windows support sagemath/sage#40676
- Add Mingw build to meson-ci sagemath/sage#41244 (where any reference to passagemath is carefully avoided)
Metadata
Metadata
Assignees
Labels
No labels