From 91a71ee5d2ad53c8d3ed07438279e72439e46a3c Mon Sep 17 00:00:00 2001 From: Paul Broadwith Date: Sun, 10 Mar 2024 17:36:54 +0000 Subject: [PATCH] refactor(steamlink)(#189): new automatic package --- automatic/steamlink/README.md | 8 +++ automatic/steamlink/steamlink.nuspec | 65 +++++++++++++++++++ .../steamlink/tools/chocolateyinstall.ps1 | 27 ++++++++ automatic/steamlink/tools/setup.exe.ignore | 0 automatic/steamlink/update.ps1 | 47 ++++++++++++++ 5 files changed, 147 insertions(+) create mode 100644 automatic/steamlink/README.md create mode 100644 automatic/steamlink/steamlink.nuspec create mode 100644 automatic/steamlink/tools/chocolateyinstall.ps1 create mode 100644 automatic/steamlink/tools/setup.exe.ignore create mode 100644 automatic/steamlink/update.ps1 diff --git a/automatic/steamlink/README.md b/automatic/steamlink/README.md new file mode 100644 index 00000000..a0b168c9 --- /dev/null +++ b/automatic/steamlink/README.md @@ -0,0 +1,8 @@ +# ![Steam Link](https://cdn.jsdelivr.net/gh/pauby/ChocoPackages@b7c36f1/icons/steam.png "Steam Logo") [Steam Link](https://chocolatey.org/packages/steamlink) + +Play your Steam games on your phone, tablet, TV, VR headset or another PC using Steam Link, streaming from your home computer. With control schemes optimized for hundreds of top titles, you can now access and play games from your PC while on the couch, or on the go. + +## Notes + +* This application ONLY supports Windows 10 and 11. +* This is an automatically updated package. If you find it is out of date by more than a week, please contact the maintainer(s) and let them know the package is no longer updating correctly. diff --git a/automatic/steamlink/steamlink.nuspec b/automatic/steamlink/steamlink.nuspec new file mode 100644 index 00000000..d32ccd4a --- /dev/null +++ b/automatic/steamlink/steamlink.nuspec @@ -0,0 +1,65 @@ + + + + + + + + steamlink + + + + 1.3.8 + https://github.com/pauby/chocopackages/tree/master/automatic/steamlink + + pauby + + + + + Steam Link + Valve Corporation + + https://store.steampowered.com/app/353380/Steam_Link/ + https://cdn.jsdelivr.net/gh/pauby/ChocoPackages@b7c36f1/icons/steam.png + 2024 Valve Corporation + + + + https://store.steampowered.com/manual/353380 + https://steamcommunity.com/app/353380/discussions/ + + steam vr + Play your Steam games on your phone, tablet, TV, VR headset or another PC using Steam Link, streaming from your home computer. + Play your Steam games on your phone, tablet, TV, VR headset or another PC using Steam Link, streaming from your home computer. With control schemes optimized for hundreds of top titles, you can now access and play games from your PC while on the couch, or on the go. + +## Notes + +* This application ONLY supports Windows 10 and 11. +* This is an automatically updated package. If you find it is out of date by more than a week, please contact the maintainer(s) and let them know the package is no longer updating correctly. + + https://store.steampowered.com/newshub/?appids=353380 + + + + + + + + + + + + + + + + + + diff --git a/automatic/steamlink/tools/chocolateyinstall.ps1 b/automatic/steamlink/tools/chocolateyinstall.ps1 new file mode 100644 index 00000000..85ec0181 --- /dev/null +++ b/automatic/steamlink/tools/chocolateyinstall.ps1 @@ -0,0 +1,27 @@ +$ErrorActionPreference = 'Stop' + +$toolsDir = "$(Split-Path -parent $MyInvocation.MyCommand.Definition)" +$logFilename = "{0}-{1}.log" -f $env:ChocolateyPackageName, $env:ChocolateyPackageVersion +$logPath = Join-Path -Path $env:TEMP -ChildPath $logFilename + +$packageArgs = @{ + PackageName = $env:ChocolateyPackageName + Url = 'https://media.steampowered.com/steamlink/windows/latest/SteamLink.zip' + UnzipLocation = $toolsDir + + checksum = '48E16CF4257170F0A6879336065B7DB8DA64ED587157FCC75B3888451C4929A9' + checksumType = 'SHA256' +} + +Install-ChocolateyZipPackage @packageArgs + +$installArgs = @{ + packageName = $env:ChocolateyPackageName + fileType = 'MSI' + file = Join-Path -Path $toolsDir -ChildPath 'SteamLink.msi' + + silentArgs = "/quiet /lv $logPath" + validExitCodes = @(0, 3010, 1641) +} + +Install-ChocolateyInstallPackage @installArgs diff --git a/automatic/steamlink/tools/setup.exe.ignore b/automatic/steamlink/tools/setup.exe.ignore new file mode 100644 index 00000000..e69de29b diff --git a/automatic/steamlink/update.ps1 b/automatic/steamlink/update.ps1 new file mode 100644 index 00000000..e56e9764 --- /dev/null +++ b/automatic/steamlink/update.ps1 @@ -0,0 +1,47 @@ +. $PSScriptRoot\..\..\scripts\all.ps1 + +function global:au_SearchReplace { + @{ + ".\tools\chocolateyInstall.ps1" = @{ + '(^\s*url\s*=\s*)(''.*'')' = "`$1'$($Latest.Url32)'" + "(?i)(^\s*checksum\s*=\s*)('.*')" = "`$1'$($Latest.Checksum32)'" + "(?i)(^\s*checksumType\s*=\s*)('.*')" = "`$1'$($Latest.ChecksumType32)'" + } + } +} + + +function global:au_BeforeUpdate() { +} + +function global:au_AfterUpdate { + Set-DescriptionFromReadme -SkipFirst 2 +} + +function global:au_GetLatest { + $url32 = 'https://media.steampowered.com/steamlink/windows/latest/SteamLink.zip' + + $tempFolder = Join-Path -Path $env:TEMP -ChildPath ([GUID]::NewGuid()).ToString() + $zipPath = Join-Path -Path $tempFolder -ChildPath 'SteamLink.zip' + $msiPath = Join-Path -Path $tempFolder -ChildPath 'SteamLink.msi' + + New-Item -Path $tempFolder -Force -ItemType Directory + Invoke-WebRequest -Uri $url32 -OutFile $zipPath + + & 7z.exe e -aoa $zipPath "SteamLink.msi" -o"$tempFolder" + + $version = & lessmsi v $msiPath + + if ($version -notmatch "[\d]*\.[\d]*\.[\d]*(\.[\d])?") { + throw "Version number '$version' isn't a valid version as it doesn't match the regex" + } + + return @{ + Url32 = $url32 + Version = $version + Checksum32 = (Get-FileHash -Path $zipPath -Algorithm 'SHA256').Hash + ChecksumType32 = 'SHA256' + } +} + +Update-Package -ChecksumFor none