9292 python-version : " 3.8 - 3.12"
9393 update-environment : false
9494
95+ - name : Retrieve configure tarball cache
96+ id : cache-configure
97+ uses : actions/cache/restore@v4
98+ with :
99+ path : |
100+ build/pkgs/configure
101+ upstream/configure*
102+ key : >-
103+ configure-build=${{
104+ hashFiles('build',
105+ 'configure.ac',
106+ 'm4')
107+ }}
108+
109+ - name : Bootstrap
110+ if : steps.cache-configure.outputs.cache-hit != 'true'
111+ # Patch python3 spkg-configure to allow Python 3.8.0 during the CIBW_BEFORE_ALL phase
112+ run : |
113+ export PATH=$(pwd)/build/bin:$PATH
114+ eval $(sage-print-system-package-command auto --sudo --yes update)
115+ eval $(sage-print-system-package-command auto --sudo --yes --no-install-recommends --spkg install _bootstrap bzip2 xz liblzma)
116+ sed -i.bak '/m4_pushdef.*MIN_VERSION/s/3[0-9.]*/3.8.0/' build/pkgs/python3/spkg-configure.m4
117+ ./bootstrap -s
118+
119+ - name : Save configure tarball cache
120+ if : steps.cache-configure.outputs.cache-hit != 'true'
121+ uses : actions/cache/save@v4
122+ with :
123+ path : |
124+ build/pkgs/configure
125+ upstream/configure*
126+ key : ${{ steps.cache-configure.outputs.cache-primary-key }}
127+
95128 - name : Build platform wheels
96129 # We build the wheel from the sdist.
97130 # But we must run cibuildwheel with the unpacked source directory, not a tarball,
@@ -101,8 +134,10 @@ jobs:
101134 # https://cibuildwheel.readthedocs.io/en/stable/options/#before-all
102135 run : |
103136 "${{ steps.python.outputs.python-path }}" -m pip install pipx
137+ if [ ! -x ./configure ]; then ./bootstrap -D; fi
138+ touch configure
104139 export PATH=build/bin:$PATH
105- export CIBW_BEFORE_ALL="( $(sage-print-system-package-command debian --yes --no-install-recommends install $(sage-get-system-packages debian $SPKGS)) || $(sage-print-system-package-command fedora --yes --no-install-recommends install $(sage-get-system-packages fedora $SPKGS | sed s/pkg-config/pkgconfig/)) || ( $(sage-print-system-package-command homebrew --yes --no-install-recommends install $(sage-get-system-packages homebrew $SPKGS)) || $(sage-print-system-package-command alpine --yes --no-install-recommends install $(sage-get-system-packages alpine $SPKGS)) || echo error ignored) ) && ./bootstrap && ./ configure --enable-build-as-root --enable-fat-binary --disable-python-distutils-check && MAKE=\"make -j6\" make V=0 $TARGETS_PRE"
140+ export CIBW_BEFORE_ALL="( $(sage-print-system-package-command debian --yes --no-install-recommends install $(sage-get-system-packages debian $SPKGS)) || $(sage-print-system-package-command fedora --yes --no-install-recommends install $(sage-get-system-packages fedora $SPKGS | sed s/pkg-config/pkgconfig/)) || ( $(sage-print-system-package-command homebrew --yes --no-install-recommends install $(sage-get-system-packages homebrew $SPKGS)) || $(sage-print-system-package-command alpine --yes --no-install-recommends install $(sage-get-system-packages alpine $SPKGS)) || echo error ignored) ) && ./configure --enable-build-as-root --enable-fat-binary --disable-python-distutils-check && MAKE=\"make -j6\" make V=0 $TARGETS_PRE"
106141 mkdir -p unpacked
107142 for pkg in passagemath_primesieve_primecount; do
108143 (cd unpacked && tar xfz - ) < dist/$pkg*.tar.gz
@@ -206,7 +241,7 @@ jobs:
206241
207242 - name : Bootstrap
208243 if : steps.cache-configure.outputs.cache-hit != 'true'
209- # Patch python3 spkg-configure to allow Python 3.9 .0 during the CIBW_BEFORE_ALL phase
244+ # Patch python3 spkg-configure to allow Python 3.8 .0 during the CIBW_BEFORE_ALL phase
210245 run : |
211246 export PATH=$(pwd)/build/bin:$PATH
212247 eval $(sage-print-system-package-command auto --yes update)
0 commit comments