Files
picard/scripts/package/win-setup.ps1

75 lines
2.4 KiB
PowerShell

Param(
[Parameter(Mandatory=$true)]
[String]
$DiscidVersion,
[Parameter(Mandatory=$true)]
[String]
$DiscidSha256Sum,
[Parameter(Mandatory=$true)]
[String]
$FpcalcVersion,
[Parameter(Mandatory=$true)]
[String]
$FpcalcSha256Sum,
[Parameter(Mandatory=$true)]
[String]
$AbextractorVersion,
[Parameter(Mandatory=$true)]
[String]
$AbextractorSha256Sum
)
$ErrorActionPreference = "Stop"
Function DownloadFile {
Param(
[Parameter(Mandatory=$true)]
[String]
$FileName,
[Parameter(Mandatory=$true)]
[String]
$Url
)
$OutputPath = (Join-Path (Resolve-Path .) $FileName)
(New-Object System.Net.WebClient).DownloadFile($Url, "$OutputPath")
}
Function VerifyHash {
Param(
[Parameter(Mandatory = $true)]
[String]
$FileName,
[Parameter(Mandatory = $true)]
[String]
$Sha256Sum
)
If ((Get-FileHash "$FileName").hash -ne "$Sha256Sum") {
Throw "Invalid SHA256 hash for $FileName"
}
}
New-Item -Name .\build -ItemType Directory -ErrorAction Ignore
$ArchiveFile = ".\build\libdiscid.zip"
Write-Output "Downloading libdiscid $DiscidVersion to $ArchiveFile..."
DownloadFile -Url "https://github.com/metabrainz/libdiscid/releases/download/v$DiscidVersion/libdiscid-$DiscidVersion-win64.zip" `
-FileName $ArchiveFile
VerifyHash -FileName $ArchiveFile -Sha256Sum $DiscidSha256Sum
Expand-Archive -Path $ArchiveFile -DestinationPath .\build\libdiscid -Force
Copy-Item .\build\libdiscid\discid.dll .
$ArchiveFile = ".\build\fpcalc.zip"
Write-Output "Downloading chromaprint-fpcalc $FpcalcVersion to $ArchiveFile..."
DownloadFile -Url "https://github.com/acoustid/chromaprint/releases/download/v$FpcalcVersion/chromaprint-fpcalc-$FpcalcVersion-windows-x86_64.zip" `
-FileName $ArchiveFile
VerifyHash -FileName $ArchiveFile -Sha256Sum $FpcalcSha256Sum
Expand-Archive -Path $ArchiveFile -DestinationPath .\build\fpcalc -Force
Copy-Item .\build\fpcalc\chromaprint-fpcalc-$FpcalcVersion-windows-x86_64\fpcalc.exe .
$ArchiveFile = ".\build\abz.zip"
Write-Output "Downloading AcousticBrainz extractor $AbextractorVersion to $ArchiveFile..."
DownloadFile -Url "https://ftp.acousticbrainz.org/pub/acousticbrainz/essentia-extractor-$AbextractorVersion-win-i686.zip" `
-FileName $ArchiveFile
VerifyHash -FileName $ArchiveFile -Sha256Sum $AbextractorSha256Sum
Expand-Archive -Path $ArchiveFile -DestinationPath .\build\abz -Force
Copy-Item .\build\abz\streaming_extractor_music.exe .