-
Notifications
You must be signed in to change notification settings - Fork 89
/
Copy pathprereq.bat
122 lines (90 loc) · 4.26 KB
/
prereq.bat
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
@echo off
setlocal enabledelayedexpansion
set "bat_path=%~dp0"
:::::::::::::::::::::::::::::::::
:: Package URL's and checksums ::
:::::::::::::::::::::::::::::::::
set LIBTORCH_PACKAGE_URL="https://download.pytorch.org/libtorch/cpu/libtorch-win-shared-with-deps-2.4.1%%%%2Bcpu.zip"
set LIBTORCH_PACKAGE_256SUM=e7b8d0b3b958d2215f52ff5385335f93aa78e42005727e44f1043d94d5bfc5dd
set OPENVINO_PACKAGE_URL=https://storage.openvinotoolkit.org/repositories/openvino/packages/2024.6/windows/w_openvino_toolkit_windows_2024.6.0.17404.4c0f47d2335_x86_64.zip
set OPENVINO_PACKAGE_256SUM=45a71a1e11f3e8a8109118e56434e79b3b2bfcc828b38b0e61be55949f317a53
set OPENVINO_TOKENIZERS_URL=https://storage.openvinotoolkit.org/repositories/openvino_tokenizers/packages/2024.6.0.0/openvino_tokenizers_windows_2024.6.0.0_x86_64.zip
set OPENVINO_TOKENIZERS_256SUM=c2b1c6d020f3536c72872321cb8eb379eed2fd3b367a840b606d27e8680d1e6b
set OPENCL_SDK_URL=https://github.com/KhronosGroup/OpenCL-SDK/releases/download/v2023.04.17/OpenCL-SDK-v2023.04.17-Win-x64.zip
set OPENCL_SDK_256SUM=11844a1d69a71f82dc14ce66382c6b9fc8a4aee5840c21a786c5accb1d69bc0a
:::::::::::::::::::::::::::::
:: GIT Repo Configuration ::
:::::::::::::::::::::::::::::
set AUDACITY_REPO_CLONE_URL=https://github.com/audacity/audacity.git
set AUDACITY_REPO_CHECKOUT=release-3.7.1
set WHISPERCPP_REPO_CLONE_URL=https://github.com/ggerganov/whisper.cpp
set WHISPERCPP_REPO_CHECKOUT=v1.6.0
::::::::::::::::::::::::::::::::::::::::::::::::
:: Download, verify, and extract the packages ::
::::::::::::::::::::::::::::::::::::::::::::::::
if not defined LIBTORCH_DIR (
call :DownloadVerifyExtract %LIBTORCH_PACKAGE_URL% %LIBTORCH_PACKAGE_256SUM% libtorch.zip
IF "!EXTRACTED_PACKAGE_PATH!"=="" (
echo Error in libtorch download routine..
exit /b
)
set LIBTORCH_DIR=!EXTRACTED_PACKAGE_PATH!
) else (
echo Not downloading Libtorch, as LIBTORCH_DIR is defined by environment. LIBTORCH_DIR=%LIBTORCH_DIR%
)
call :DownloadVerifyExtract %OPENVINO_PACKAGE_URL% %OPENVINO_PACKAGE_256SUM%
IF "%EXTRACTED_PACKAGE_PATH%"=="" (
echo Error in openvino download routine..
exit /b
)
set OPENVINO_DIR=%EXTRACTED_PACKAGE_PATH%
call :DownloadVerifyExtract %OPENVINO_TOKENIZERS_URL% %OPENVINO_TOKENIZERS_256SUM% openvino_tokenizers.zip
IF "%EXTRACTED_PACKAGE_PATH%"=="" (
echo Error in openvino tokenizers download routine..
exit /b
)
echo Extracting openvino_tokenizers.zip to %OPENVINO_DIR% ...
powershell -Command "Expand-Archive -LiteralPath openvino_tokenizers.zip -DestinationPath '%OPENVINO_DIR%' -Force"
call :DownloadVerifyExtract %OPENCL_SDK_URL% %OPENCL_SDK_256SUM%
IF "%EXTRACTED_PACKAGE_PATH%"=="" (
echo Error in opencl tokenizers download routine..
exit /b
)
set OPENCL_SDK_DIR=%EXTRACTED_PACKAGE_PATH%
:: Clone the required repo's and check out the desired tags
git clone --depth 1 --branch %WHISPERCPP_REPO_CHECKOUT% %WHISPERCPP_REPO_CLONE_URL%
git clone --depth 1 --branch %AUDACITY_REPO_CHECKOUT% %AUDACITY_REPO_CLONE_URL%
:: Create local python env, just to install conan.
python -m venv build_env
echo "activating..."
call "build_env\Scripts\activate"
echo "installing conan"
pip install conan
call %bat_path%\set_env.bat %LIBTORCH_DIR% %OPENVINO_DIR% %OPENCL_SDK_DIR% whisper.cpp audacity %CONAN_CACHE_PATH%
goto :eof
:: Helper function to Download, verify it using checksum, and then extract.
:DownloadVerifyExtract
set EXTRACTED_PACKAGE_PATH=
set "package_url=%~1"
set "checksum=%~2"
set "package_file=%~3"
IF "%package_file%"=="" (
:: package_file isn't explicitly set.
for %%i in (%package_url%) do set "package_file=%%~nxi"
)
echo package_file=%package_file%
echo Downloading from %package_url%
powershell -Command "Invoke-WebRequest -Uri '%package_url%' -OutFile %package_file%"
CertUtil -hashfile %package_file% SHA256 | find /i /v "sha256" | find /i /v "certutil" >computed_checksum.txt
set /p COMPUTED_CHECKSUM=<computed_checksum.txt
if "%checksum%" == "%COMPUTED_CHECKSUM%" (
echo Checksum verification successful.
) else (
echo Checksum verification failed.
goto :eof
)
echo Extracting %package_file% to %BUILD_FOLDER% ...
powershell -Command "Expand-Archive -LiteralPath '%package_file%' -DestinationPath '%BUILD_FOLDER%' -Force"
for %%A in ("%package_file%") do set "package_folder=%%~nA"
set EXTRACTED_PACKAGE_PATH=%BUILD_FOLDER%\%package_folder%
goto :eof