diff --git a/mingw-w64-manim/001-backports_cached-property-not-required-with-python-ge-38.patch b/mingw-w64-manim/001-backports_cached-property-not-required-with-python-ge-38.patch new file mode 100644 index 0000000000..96dc9e248c --- /dev/null +++ b/mingw-w64-manim/001-backports_cached-property-not-required-with-python-ge-38.patch @@ -0,0 +1,11 @@ +--- a/pyproject.toml ++++ b/pyproject.toml +@@ -56,7 +56,7 @@ + srt = "^3.5.0" + screeninfo = "^0.8" + Pygments = "^2.10.0" +-"backports.cached-property" = "^1.0.1" ++"backports.cached-property" = { version = "^1.0.1", python = "<3.8" } + + [tool.poetry.extras] + webgl_renderer = ["grpcio","grpcio-tools"] diff --git a/mingw-w64-manim/PKGBUILD b/mingw-w64-manim/PKGBUILD index 951ae10c41..3df94505a6 100644 --- a/mingw-w64-manim/PKGBUILD +++ b/mingw-w64-manim/PKGBUILD @@ -3,16 +3,16 @@ _realname=manim pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") -pkgver=0.14.0 +pkgver=0.15.1 pkgrel=1 pkgdesc="Animation engine for explanatory math videos (community edition) (mingw-w64)" arch=('any') -mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64') +mingw_arch=('mingw32' 'mingw64' 'ucrt64') url='https://www.manim.community' license=('MIT') depends=( "${MINGW_PACKAGE_PREFIX}-python" - "${MINGW_PACKAGE_PREFIX}-ffmpeg" + "${MINGW_PACKAGE_PREFIX}-ffmpeg" "${MINGW_PACKAGE_PREFIX}-python-click" "${MINGW_PACKAGE_PREFIX}-python-click-default-group" "${MINGW_PACKAGE_PREFIX}-python-colour" @@ -40,37 +40,44 @@ depends=( "${MINGW_PACKAGE_PREFIX}-python-srt" ) optdepends=("${MINGW_PACKAGE_PREFIX}-texlive-scheme-medium: For LaTeX support") -makedepends=("${MINGW_PACKAGE_PREFIX}-python-setuptools" "${MINGW_PACKAGE_PREFIX}-cc") +makedepends=("${MINGW_PACKAGE_PREFIX}-python-build" + "${MINGW_PACKAGE_PREFIX}-python-installer" + "${MINGW_PACKAGE_PREFIX}-python-poetry-core" + "${MINGW_PACKAGE_PREFIX}-python-setuptools" + "${MINGW_PACKAGE_PREFIX}-cc") +options=(!strip) source=( "${_realname}-${pkgver}.tar.gz"::"https://github.com/ManimCommunity/${_realname}/releases/download/v${pkgver}/${_realname}-${pkgver}.tar.gz" + 001-backports_cached-property-not-required-with-python-ge-38.patch ) -sha512sums=('e11ea6b8799f000845368945878fcafa84f80c06c5ee394b6532bec90d1f465e95d887b1e642302bba6f9dd424e359fe1551ba1f022667147b842295e173bf2f') +sha512sums=('8073433b6579ccf88473a6fcd7874973a09dbfcf5876e68c2eb9b5cfe4f199a79a7bd41590be64dd34994284e68b5e3c746c690dd1533df77422c1f5c6107ed2' + '45f18c12e857631119d681a3de1d61949359926413811cc2cad13e589ccacc2a6b5325b83a8eafb6ac1f6dcdc34f1ac6e93c6003a3c31dc19f3004448100f8a6') prepare() { - rm -rf python-build-${MSYSTEM} | true - cd "${srcdir}" - cp -r "${_realname}-${pkgver}" "python-build-${MSYSTEM}" && cd "python-build-${MSYSTEM}" - sed -i 's/cloup>=0.7.0,<0.8.0/cloup/g' setup.py - sed -i 's/mapbox-earcut>=0.12.10,<0.13.0/mapbox-earcut/g' setup.py - sed -i 's/screeninfo>=0.6.7,<0.7.0/screeninfo/' setup.py - sed -i 's/srt>=3.5.0,<4.0.0/srt/g' setup.py + cd "${srcdir}/${_realname}-${pkgver}" + + # https://github.com/ManimCommunity/manim/pull/2678 + patch -p1 -i "${srcdir}"/001-backports_cached-property-not-required-with-python-ge-38.patch + sed -i 's/cloup = "^0.7.0"/cloup = "*"/g' pyproject.toml + sed -i 's/mapbox-earcut = "^0.12.10"/mapbox-earcut = "*"/g' pyproject.toml } build() { - cd "${srcdir}/python-build-${MSYSTEM}" - ${MINGW_PREFIX}/bin/python setup.py build + msg "Python build for ${MSYSTEM}" + cd "${srcdir}" + cp -r "${_realname}-${pkgver}" "python-build-${MSYSTEM}" && cd "python-build-${MSYSTEM}" + + ${MINGW_PREFIX}/bin/python -m build --wheel --skip-dependency-check --no-isolation } package() { + msg "Python install for ${MSYSTEM}" cd "${srcdir}/python-build-${MSYSTEM}" - MSYS2_ARG_CONV_EXCL="--prefix=;--install-scripts=;--install-platlib=" \ - ${MINGW_PREFIX}/bin/python setup.py install --prefix=${MINGW_PREFIX} \ - --root="${pkgdir}" --optimize=1 --skip-build - for _f in "${pkgdir}${MINGW_PREFIX}"/bin/*-script.py; do - sed -e '1 { s/^#!.*$// }' -i "${_f}" - done - + MSYS2_ARG_CONV_EXCL="--prefix=" \ + ${MINGW_PREFIX}/bin/python -m installer --prefix=${MINGW_PREFIX} \ + --destdir="${pkgdir}" dist/*.whl + install -Dm644 LICENSE "${pkgdir}${MINGW_PREFIX}/share/licenses/python-${_realname}/LICENSE" install -Dm644 LICENSE.community "${pkgdir}${MINGW_PREFIX}/share/licenses/python-${_realname}/LICENSE.community" }