refactor: finish moving ssh-* scripts to own installers
[webi-installers/.git] / deno / install.ps1
1 #!/usr/bin/env pwsh
2
3 # Fetch archive
4 IF (!(Test-Path -Path "$Env:USERPROFILE\Downloads\webi\$Env:WEBI_PKG_FILE"))
5 {
6     # TODO: arch detection
7     echo "Downloading $Env:PKG_NAME from $Env:WEBI_PKG_URL to $Env:USERPROFILE\Downloads\webi\$Env:WEBI_PKG_FILE"
8     #Invoke-WebRequest https://nodejs.org/dist/v12.16.2/node-v12.16.2-win-x64.zip -OutFile node-v12.16.2-win-x64.zip
9     & curl.exe -A "$Env:WEBI_UA" -fsSL "$Env:WEBI_PKG_URL" -o "$Env:USERPROFILE\Downloads\webi\$Env:WEBI_PKG_FILE.part"
10     & move "$Env:USERPROFILE\Downloads\webi\$Env:WEBI_PKG_FILE.part" "$Env:USERPROFILE\Downloads\webi\$Env:WEBI_PKG_FILE"
11 }
12
13 IF (!(Test-Path -Path "$Env:USERPROFILE\.local\opt\$Env:PKG_NAME-v$Env:WEBI_VERSION"))
14 {
15     echo "Installing $Env:PKG_NAME"
16     # TODO: temp directory
17
18     # Enter opt
19     pushd .local\tmp
20
21         # Remove any leftover tmp cruft
22         Remove-Item -Path "deno-v*" -Recurse -ErrorAction Ignore
23
24         # Unpack archive
25         # Windows BSD-tar handles zip. Imagine that.
26         echo "Unpacking $Env:USERPROFILE\Downloads\webi\$Env:WEBI_PKG_FILE"
27         & tar xf "$Env:USERPROFILE\Downloads\webi\$Env:WEBI_PKG_FILE"
28
29         # Settle unpacked archive into place
30         echo "New Name: $Env:PKG_NAME-v$Env:WEBI_VERSION"
31         Get-ChildItem "deno*" | Select -f 1 | Rename-Item -NewName "$Env:PKG_NAME-v$Env:WEBI_VERSION.exe"
32         echo "New Location: $Env:USERPROFILE\.local\opt\$Env:PKG_NAME-v$Env:WEBI_VERSION.exe"
33         Move-Item -Path "$Env:PKG_NAME-v$Env:WEBI_VERSION.exe" -Destination "$Env:USERPROFILE\.local\opt"
34
35     # Exit tmp
36     popd
37 }
38
39 echo "Copying into '$Env:USERPROFILE\.local\bin\$Env:PKG_NAME.exe' from '$Env:USERPROFILE\.local\opt\$Env:PKG_NAME-v$Env:WEBI_VERSION.exe'"
40 Remove-Item -Path "$Env:USERPROFILE\.local\bin\$Env:PKG_NAME.exe" -Recurse -ErrorAction Ignore
41 Copy-Item -Path "$Env:USERPROFILE\.local\opt\$Env:PKG_NAME-v$Env:WEBI_VERSION.exe" -Destination "$Env:USERPROFILE\.local\bin\$Env:PKG_NAME.exe" -Recurse
42
43 # Add to path
44 & "$Env:USERPROFILE\.local\bin\pathman.exe" add ~/.local/bin