m-ab-s / media-autobuild_suite

This Windows Batchscript helps setup a Mingw-w64 compiler environment for building ffmpeg and other media tools under Windows.
GNU General Public License v3.0
1.49k stars 257 forks source link

Request: pls consider updating vapoursynth to R65 #2583

Closed hydra3333 closed 5 months ago

hydra3333 commented 5 months ago

Hello.

Currently, vapoursynth here is at R61. I notice that the current vapoursynth release is R65 (with python 3.11) and it has a range of bugfixes.

Would there be any chance of updating it to R65 ?

Thanks

1480c1 commented 5 months ago

Updated in https://github.com/m-ab-s/media-autobuild_suite/commit/7fb7532c96ef79ff12585d08098cc386270c9d09, open an issue if it's broken

hydra3333 commented 5 months ago

OK, thankyou, I'll try it, noticing the patch has _python_ver=3.12.1

I recall recently trying to use portable R65 with python 3.12.1 and had issues, so had to revert to python 3.11.7 which is specified in portable vapoursynth R65's vs-detect-python.bat. Also of interest vapoursynth git head after R65 has changed it to 3.12.1

Anyway, I'll give it a whirl as-is and let you know.

hydra3333 commented 5 months ago

Ah. As soon as I pop portable (embedded) python 3.12.1 into the portable vapoursynth folder, over the top of python 3.11.7 (which is the way of doing it) then things break, eg vsrepo crashes.

So, for R65 python needs to be reverted to python 3.11.7 ...

1480c1 commented 5 months ago

So r65 should be fine with 3.11.7? 1346bd914c

hydra3333 commented 5 months ago

Should be. That's what's in the R65 release in file vs-detect-python.bat (it's changed in the git head to 3.12.1 however that's not yet a release). I run R65 with 3.11.7 and vsrepo does not crash (whereas it does crash with 3.12.1).

I just sync'd my fork to your latest commits and will rebuild and confirm tomorrow,

Thanks !

hydra3333 commented 5 months ago

It works !

Thank you muchly.

LigH-de commented 3 months ago

R66 is available, requires Python 3.12.

hydra3333 commented 3 months ago

Interestingly, with the new release https://github.com/vapoursynth/vapoursynth/releases/tag/R66

  1. the vapoursynth download is now a .zip instead of a .7z
  2. the release has this as a NEW asset Install-Portable-VapourSynth-R66.ps1
  3. Install-Portable-VapourSynth-R66.ps1 specifies python 3.12.2 ... by the looks Install-Portable-VapourSynth-R66.ps1 is not applicable when using portable vapoursynth
  4. After downloading and extracting vapoursynth, Install-Portable-VapourSynth-R66.ps1 specifically removes .\VSScriptPython38.dll which came in the python .zip before "installing" vapoursynth wheel

So, just a note to remove .\VSScriptPython38.dll after extracting portable vapoursynth ...

I have no idea what the new wheel stuff is about, I've only ever extracted the zip file for portable vapoursynth ... The documentation https://vapoursynth.com/doc/installation.html#windows-installation-portable now also says to run vs-detect-python.bat ... which does nothing when python 3.12.2 is installed :) Simply decompress the [portable VapourSynth archive](https://github.com/vapoursynth/vapoursynth/releases) into the Python dir and overwrite all existing files. Run vs-detect-python.bat to configure it for the current Python version. Done.

Having looked at MABS build, Install-Portable-VapourSynth-R66.ps1 is not applicable to MABS, fortunately.

Here's the section of code in Install-Portable-VapourSynth-R66.ps1 :

Write-Host "Extracting Python..."
Expand-Archive -LiteralPath ".\Downloads\python-$PythonVersionMajor.$PythonVersionMid.$PythonVersionMinor-embed-amd64.zip" -DestinationPath ".\" -Force
Add-Content -Path ".\python$PythonVersionMajor$PythonVersionMid._pth" -Encoding UTF8 -Value "..\Scripts" | Out-Null
Add-Content -Path ".\python$PythonVersionMajor$PythonVersionMid._pth" -Encoding UTF8 -Value "Scripts" | Out-Null
Add-Content -Path ".\python$PythonVersionMajor$PythonVersionMid._pth" -Encoding UTF8 -Value "Lib\site-packages" | Out-Null
Write-Host "Installing Pip..."
& ".\python.exe" ".\Downloads\get-pip.py" "--no-warn-script-location"
Remove-Item -Path ".\Scripts\*.exe"
Write-Host "Extracting VapourSynth..."
Expand-Archive -LiteralPath ".\Downloads\VapourSynth64-Portable-R$VSVersion.zip" -DestinationPath ".\" -Force
Remove-Item -Path ".\VSScriptPython38.dll"
Write-Host "Installing VapourSynth..."
& ".\python.exe" "-m" "pip" "install" ".\wheel\VapourSynth-$VSVersion-cp$PythonVersionMajor$PythonVersionMid-cp$PythonVersionMajor$PythonVersionMid-win_amd64.whl"
hydra3333 commented 3 months ago

I think I'll test MABS build with R66 and 3.12.2 (without the wheel stuff) and if it works post a request to use R66

LigH-de commented 3 months ago

Myrsloik reported:

The portable install script and portable zip have now been sneakily updated to fix several annoying issues related to plugin and script paths. Windows 7 support also added, however you'll need to install powershell 5.0 or later to actually run it since the bundled version on win7 is ancient.

hydra3333 commented 3 months ago

OK, the revised release of R66 works.

There's a possible caveat on the portable install via the file Install-Portable-VapourSynth-RXX.ps1 though; it installs into a slightly different place than the documentation suggests depending on how you read it - any scripts you may have could need to be changed unless you tell R66 to install in the place you want. Reference: https://github.com/vapoursynth/vapoursynth/issues/1037

Would it be possible to update MABS to use R66 ?

Thanks