Stuff that I use that isn't in the official scoop buckets.
The "archive" directory consists of manifests I've created that I feel aren't useful anymore.
scoop bucket add milnak https://github.com/milnak/scoop-bucket
scoop bucket list
Should see something like:
Name Source Updated Manifests
---- ------ ------- ---------
milnak https://github.com/milnak/scoop-bucket 2/1/2024 11:43:26 AM 0
scoop search windbg
Should see something like:
Name Version Source Binaries
---- ------- ------ --------
windbg 1.2402.24001.0 milnak
scoop install milnak/windbg
windbg.exe
After determining a regular expression at regex101, convert it to a JSON string using e.g.:
'<a href="\/documents\/2393\/GuitarLab_Win_v([\d\.]+)_E\.zip">' | ConvertTo-Json
I tried creating a cemu_config.ini
and adding "persist": "cemu_config.ini"
, to force portable mode, but couldn't get it to work, as I think that cemu is deleting the .ini file which loses the SymbolicLink. I've created a hack to workaround this.
cemu places all files in same location as cemu_config.ini, so by passing persist_dir to "--settings", all of the other files (e.g. cemu_image.ce) will be placed in persist folder as well.
checkver.github uses regex '/releases/tag/(?:v|V)?([\d.]+)', but ChordPro uses R6.050 !
minor is '050' but installer uses '50'
This is a nullsoft installer, which is 7zip-wrapped.
Ctrlr-5.3.201.exe is a nullsoft (7-zip) installer.
Retrieved project_id from source code
Latest foobar2000 version.
checkver.github uses regex '/releases/tag/(?:v|V)?([\d.]+)', but grief uses '3.2.3-build-26'.
A better jsonpath would be "jsonpath": "$..assets[?match(@.name, \".*-win-x86-setup.exe\")].browser_download_url"
but scoop doesn't seem to support JSONPath matching.
Similar to nirsoft/insideclipboard, but this persists configuration.
Version is 4.1.0, but download path is "/4.1.0/JJazzLab-4.1.0a-win64-setup.exe". Use api.github to get browser_download_url with a regex to match version ("4.1.0") and build ("4.1.0a").
Hash will search for hash pattern, e.g. "md5sum: 7b22dfef0c319daca8c1202f12592f24" on URL. See Using Built-in RegEx in autoupdate.hash.
"checkver": "github",
should suffice, but a 2.3.2 only for MacOS was released which caused CheckVer to fail.
Add requirement for versions/innounp-unicode
midioxse.exe is a self-extracting zip containing a MSI file.
Expand-MsiArchive - see this.
MIDI-OX showed invalid install without a personal license added, so if no license is set, registry keys will be set to personal license by default.
Scoop's notepad2-zufuliu is out of date. This is up to date.
I'm creating an empty "state.bin" file but that causes "State File Corrupt" to be displayed when starting Plus42. This goes away on any keypress.
On a clean (Windows Sandbox) VM, PortableBuildTools.exe wasn't located. In post_install, I changed "PortableBuildTools.exe" to "& (Join-Path $dir 'PortableBuildTools.exe')" to fix this issue.
My devenv.ps1 script is now integrated into the installer, so I removed my post_install that would create one.
I also added a shortcut to the devenv.ps1. Had to do a "pre_install" hack as "shortcuts" will only add a shortcut to an item in the install folder it seems.
PortableBuildTools.exe fails if install path includes a SymbolicLink, which scoop uses. To work around that, I reference $original_dir
instead of $dir
during install.
Didn't add "bin": [ "datutil.exe", "rc.exe" ] as I don't think these tools are commonly used.
Similar to the one in extras, but this one stores SuperPuTTY.settings in a persist folder rather than under $env:USERPROFILE
Contains persistence bug fix.
Found this path using dev tools while loading this.
Persists settings, avoiding known issue
This is a fixed version of the manifest that's in nirsoft bucket. scoop is case-sensitive on filenames!
Also, scoop persist requires a file to exist in $dir at install time, or it will be assumed that the object is a folder, so New-Item is used to create an empty file.
Based on: Visual Studio VC Build Tools w/vcpkg, CMake and Ninja, plus Qt
--includeRecommended includes CMake which is required for vcpkg to work, however that CMake is an older version. Installing main/cmake will install a newer version.
The build tools installer adds start menu shortcuts for:
- Developer Command Prompt for VS 2022
- Developer PowerShell for VS 2022
- x86 Native Tools Command Prompt for VS 2022 (component not installed)
- x64_x86 Cross Tools Command Prompt for VS 2022 (component not installed)
You can also open the Developer PowerShell using:
Import-Module (Join-Path (scoop prefix 'vs-build-tools-2022') '\vs\Common7\Tools\Microsoft.VisualStudio.DevShell.dll')
# Can't use `Join-Path (scoop prefix 'vs-build-tools-2022') 'vs'` as the scoop junction causes the lookup to fail.
Enter-VsDevShell -VsInstallPath (Resolve-Path '~\scoop\apps\vs-build-tools-2022\17.12\vs')
If using vcpkg, ensure that CMAKE_TOOLCHAIN_FILE
is set:
$env:CMAKE_TOOLCHAIN_FILE="$env{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake"
References:
- Use command-line parameters to install, update, and manage Visual Studio
- Visual Studio Build Tools component directory
See rom_path getting corrupted in wabbitemu.ini (Windows) -- a file "currentwabbitemu.sav" will be placed ion ~/scoop/apps/wabbitemu because of this bug.
Derived from 'winget show Microsoft.windbg'.
Similar to nirsoft/wirelessnetworkwatcher, but this persists configuration.
For development purposes, this repo should be cloned into ~/scoop/buckets/milnak
.
I've created a script "Scoop-Bucket-Utils.ps1" that wraps all of the relevant development scripts. When adding a new script, run ./Scoop-Bucket-Utils.ps1 -Utility CheckHashes,CheckUrls,CheckVer,FormatJson,MissingCheckVer -App [manifest_name]
to verify manifest, then ./Scoop-Bucket-Utils.ps1 -Utility Tests
to run UTs.
To refresh bucket cache:
scoop update
"scoop update" will update the app when it detects a change in the manifest in the upstream bucket repository. It has nothing to do with checkver. "autoupdate" is just for checkver. You have to run checkver periodically to update the manifest.
To get file hash for "hash" field:
(Get-FileHash -Algorithm SHA256 '.\xscsetup-9.40.0.exe').Hash
Try:
- trid filename - "scoop install main/trid"
- 7z l filename - "scoop install main/7zip"
- If you see "$PLUGINSDIR", it might be NSIS (NullSoft installer)
- dark filename - "scoop install main/dark"
- lessmsi o filename - "scoop install main/lessmsi"
- unzip filename - "scoop install main/unzip"
JSONPath:
Scoop versionVariables: