Initial commit

This commit is contained in:
Sam Therapy 2023-03-07 17:35:49 +00:00 committed by GitHub
commit a30d834139
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
29 changed files with 547 additions and 0 deletions

16
.editorconfig Normal file
View file

@ -0,0 +1,16 @@
# EditorConfig (is awesome): http://EditorConfig.org
# * top-most EditorConfig file
root = true
# default style settings
[*]
charset = utf-8
end_of_line = crlf
indent_size = 4
indent_style = space
insert_final_newline = true
trim_trailing_whitespace = true
[*.{yml,yaml}]
indent_size = 2

4
.gitattributes vendored Normal file
View file

@ -0,0 +1,4 @@
# Since Scoop is a Windows-only tool, we can safely use CRLF line endings for all text files.
# If Git decides that the content is text, its line endings will be normalized to CRLF in the working tree on checkout.
# In the Git index/repository the files will always be stored with LF line endings. This is fine.
* text=auto eol=crlf

113
.github/ISSUE_TEMPLATE/bug-report.yml vendored Normal file
View file

@ -0,0 +1,113 @@
name: 🐛 Bug Report
description: Open an issue about a bug that needs fixing.
title: "[Bug]: "
labels: ["bug"]
body:
- type: checkboxes
attributes:
label: Prerequisites
options:
- label: I have written a descriptive issue title.
required: true
- label: I have searched all issues/PRs to ensure it has not already been reported or fixed.
required: true
- label: I have verified that I am using the latest version of Scoop and corresponding bucket.
required: true
- type: input
attributes:
label: Package Name
description: Name of package (install name) which has bug(s)
placeholder: e.g. 7zip (not '7-Zip')
validations:
required: true
- type: textarea
attributes:
label: Expected/Current Behaviour
description: A clear and concise description of what you expected to happen and what actually happen.
placeholder: I am experiencing a problem with X. I think Y should be happening but Z is actually happening.
validations:
required: true
- type: textarea
attributes:
label: Steps to Reproduce
description: List of steps, sample code or failing test that reproduces the behavior.
render: console
placeholder: |
PS> scoop install tests/meson
Installing 'meson' (0.61.1) [64bit]
Loading meson-0.61.1-64.msi from cache.
Checking hash of meson-0.61.1-64.msi ... ok.
Extracting meson-0.61.1-64.msi ... done.
Running installer script...
Linking D:\Scoop\apps\meson\current => D:\Scoop\apps\meson\0.61.1
Creating shim for 'meson'.
Can't shim 'meson.exe': File doesn't exist.
validations:
required: true
- type: textarea
attributes:
label: Possible Solution
description: Do you have some suggestions on a fix for the bug?
placeholder: I am experiencing a problem with X. I think Y should be happening but Z is actually happening.
validations:
required: true
- type: textarea
attributes:
label: Scoop and Buckets Version
description: Paste verbatim output from `scoop --version` below.
render: console
placeholder: |
PS> scoop --version
Current Scoop version:
c60df9cd (HEAD -> develop, origin/develop) docs(changelog): Prepare for version 0.3.1 (#5248)
'extras' bucket:
ea314b213 (HEAD -> master, origin/master, origin/HEAD) lazygit: Update to version 0.36.0
'main' bucket:
c6e688d4d (HEAD -> master, origin/master, origin/HEAD) x265: Update to version 3.5+68-40e37bc
validations:
required: true
- type: textarea
attributes:
label: Scoop Config
description: Paste verbatim output from `scoop config` below.
render: console
placeholder: |
PS> scoop config
last_update : 2022/11/14 22:05:50
scoop_repo : https://github.com/ScoopInstaller/Scoop
scoop_branch : develop
use_lessmsi : True
aria2-enabled : True
aria2-warning-enabled : False
validations:
required: true
- type: textarea
attributes:
label: PowerShell Version
description: Paste verbatim output from `$PSVersionTable` below.
render: console
placeholder: |
PS> $PSVersionTable
Name Value
---- -----
PSVersion 7.3.0
PSEdition Core
GitCommitId 7.3.0
OS Microsoft Windows 10.0.25236
Platform Win32NT
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
WSManStackVersion 3.0
validations:
required: true
- type: textarea
attributes:
label: Additional Softwares
description: List any additional software that you are using and may be related to this bug.
validations:
required: false

5
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View file

@ -0,0 +1,5 @@
blank_issues_enabled: true
contact_links:
- name: Scoop Community Support
url: https://github.com/ScoopInstaller/Scoop/discussions
about: Please ask Scoop related questions here.

19
.github/ISSUE_TEMPLATE/hash-error.yml vendored Normal file
View file

@ -0,0 +1,19 @@
name: 🔢 Hash Error
description: Open an issue about a package's hash is incorrect.
labels: ["bug"]
body:
- type: checkboxes
attributes:
label: Prerequisites
options:
- label: I have used the predefined issue title. (e.g. "xxx@xxx: hash check failed")
required: true
- label: I have verified that I am using the latest version of Scoop and corresponding bucket.
required: true
- type: input
attributes:
label: Package Name and Version
description: Name and version of package (install name) which has incorrect hash.
placeholder: e.g. 7zip@21.00 (not '7-Zip')
validations:
required: true

View file

@ -0,0 +1,52 @@
name: 📦 Package Request
description: Open an issue about a missing package.
title: "[Request]: "
labels: ["package-request"]
body:
- type: checkboxes
attributes:
label: Prerequisites
options:
- label: I have searched all issues/PRs to ensure it has not already been reported or fixed.
required: true
- type: checkboxes
attributes:
label: Criteria
description: For a package to be acceptable in this bucket, it should be
options:
- label: Criteria 1
required: true
- label: Criteria 2
required: true
- label: Criteria 3
required: true
- type: input
attributes:
label: Name
description: Name of the package
validations:
required: true
- type: input
attributes:
label: Description
description: Clear and concise details of what it is
validations:
required: true
- type: input
attributes:
label: Homepage
description: URI of the package's homepage
validations:
required: true
- type: input
attributes:
label: Download Link(s)
description: URI(s) of the package's download(s)
validations:
required: true
- type: textarea
attributes:
label: Some Indication of Popularity/Repute
description: GitHub stars/software reviews etc.
validations:
required: true

15
.github/pull_request_template.md vendored Normal file
View file

@ -0,0 +1,15 @@
<!-- Provide a general summary of your changes in the title above -->
<!--
By opening this PR you confirm that you have searched for similar issues/PRs here already.
Failing to do so will most likely result in closing of this PR without any explanation.
It is also mandatory to open a relevant issue (either Package Request or Bug Report) for
discussion with the maintainers, before creating any new PR.
Read the contributing guide first to save both your and our time.
-->
Closes #XXXX
<!-- or -->
Relates to #XXXX
- [ ] I have read the [Contributing Guide](https://github.com/ScoopInstaller/.github/blob/main/.github/CONTRIBUTING.md).

59
.github/workflows/ci.yml vendored Normal file
View file

@ -0,0 +1,59 @@
name: Tests
on:
push:
branches:
- 'main'
- 'master'
pull_request:
workflow_dispatch:
jobs:
test_powershell:
name: WindowsPowerShell
runs-on: windows-latest
steps:
- name: Checkout Bucket
uses: actions/checkout@main
with:
fetch-depth: 2
path: my_bucket
- name: Checkout Scoop
uses: actions/checkout@main
with:
repository: ScoopInstaller/Scoop
path: scoop_core
- name: Init Test Suite
uses: potatoqualitee/psmodulecache@v5.1
with:
modules-to-cache: BuildHelpers
shell: powershell
- name: Test Bucket
shell: powershell
run: |
$env:SCOOP_HOME="$(Convert-Path '.\scoop_core')"
.\my_bucket\bin\test.ps1
test_pwsh:
name: PowerShell
runs-on: windows-latest
steps:
- name: Checkout Bucket
uses: actions/checkout@main
with:
fetch-depth: 2
path: my_bucket
- name: Checkout Scoop
uses: actions/checkout@main
with:
repository: ScoopInstaller/Scoop
path: scoop_core
- name: Init Test Suite
uses: potatoqualitee/psmodulecache@v5.1
with:
modules-to-cache: BuildHelpers
shell: pwsh
- name: Test Bucket
shell: pwsh
run: |
$env:SCOOP_HOME="$(Convert-Path '.\scoop_core')"
.\my_bucket\bin\test.ps1

17
.github/workflows/excavator.yml vendored Normal file
View file

@ -0,0 +1,17 @@
on:
workflow_dispatch:
schedule:
# run every 4 hours
- cron: '20 */4 * * *'
name: Excavator
jobs:
excavate:
name: Excavate
runs-on: windows-latest
steps:
- uses: actions/checkout@main
- name: Excavate
uses: ScoopInstaller/GithubActions@main
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SKIP_UPDATED: 1

15
.github/workflows/issue_comment.yml vendored Normal file
View file

@ -0,0 +1,15 @@
on:
issue_comment:
types: [created]
name: Commented Pull Request
jobs:
pullRequestHandler:
name: PullRequestHandler
runs-on: windows-latest
steps:
- uses: actions/checkout@main
- name: PullRequestHandler
uses: ScoopInstaller/GithubActions@main
if: startsWith(github.event.comment.body, '/verify')
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

15
.github/workflows/issues.yml vendored Normal file
View file

@ -0,0 +1,15 @@
on:
issues:
types: [opened, labeled]
name: Issues
jobs:
issueHandler:
name: IssueHandler
runs-on: windows-latest
steps:
- uses: actions/checkout@main
- name: IssueHandler
uses: ScoopInstaller/GithubActions@main
if: github.event.action == 'opened' || (github.event.action == 'labeled' && contains(github.event.issue.labels.*.name, 'verify'))
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

14
.github/workflows/pull_request.yml vendored Normal file
View file

@ -0,0 +1,14 @@
on:
pull_request:
types: [opened]
name: Pull Requests
jobs:
pullRequestHandler:
name: PullRequestHandler
runs-on: windows-latest
steps:
- uses: actions/checkout@main
- name: PullRequestHandler
uses: ScoopInstaller/GithubActions@main
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

5
.gitignore vendored Normal file
View file

@ -0,0 +1,5 @@
*.sublime-workspace
*~
._*
page.html
checkver-*.html

6
.markdownlint.json Normal file
View file

@ -0,0 +1,6 @@
{
"MD013": false,
"MD024": {
"siblings_only": true
}
}

6
.vscode/extensions.json vendored Normal file
View file

@ -0,0 +1,6 @@
{
"recommendations": [
"EditorConfig.EditorConfig",
"ms-vscode.PowerShell"
]
}

26
.vscode/settings.json vendored Normal file
View file

@ -0,0 +1,26 @@
// Configure PSScriptAnalyzer settings
{
"[powershell]": {
"editor.formatOnSave": true
},
"powershell.scriptAnalysis.settingsPath": "PSScriptAnalyzerSettings.psd1",
"powershell.codeFormatting.preset": "OTBS",
"powershell.codeFormatting.alignPropertyValuePairs": true,
"powershell.codeFormatting.ignoreOneLineBlock": true,
"json.schemas": [
{
"url": "https://raw.githubusercontent.com/ScoopInstaller/Scoop/master/schema.json",
"fileMatch": [
"bucket/*.json"
]
}
],
"files.exclude": {
"**/.git": true,
"**/.svn": true,
"**/.hg": true,
"**/CVS": true,
"**/.DS_Store": true,
"**/tmp": true
}
}

24
LICENSE Normal file
View file

@ -0,0 +1,24 @@
This is free and unencumbered software released into the public domain.
Anyone is free to copy, modify, publish, use, compile, sell, or
distribute this software, either in source code form or as a compiled
binary, for any purpose, commercial or non-commercial, and by any
means.
In jurisdictions that recognize copyright laws, the author or authors
of this software dedicate any and all copyright interest in the
software to the public domain. We make this dedication for the benefit
of the public at large and to the detriment of our heirs and
successors. We intend this dedication to be an overt act of
relinquishment in perpetuity of all present and future rights to this
software under copyright law.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
For more information, please refer to <https://unlicense.org>

23
README.md Normal file
View file

@ -0,0 +1,23 @@
# Scoop Bucket Template
<!-- Uncomment the following line after replacing placeholders -->
<!-- [![Tests](https://github.com/<username>/<bucketname>/actions/workflows/ci.yml/badge.svg)](https://github.com/<username>/<bucketname>/actions/workflows/ci.yml) [![Excavator](https://github.com/<username>/<bucketname>/actions/workflows/excavator.yml/badge.svg)](https://github.com/<username>/<bucketname>/actions/workflows/excavator.yml) -->
Template bucket for [Scoop](https://scoop.sh), the Windows command-line installer.
How do I install these manifests?
---------------------------------
To add this bucket, run `scoop bucket add <bucketname> https://github.com/<username>/<bucketname>`. To install, do `scoop install <manifest>`.
How do I contribute new manifests?
----------------------------------
To make a new manifest contribution, please read the [Contributing Guide](https://github.com/ScoopInstaller/.github/blob/main/.github/CONTRIBUTING.md).
----
#### To use this template
- Modify the Readme.md and the bin/auto-pr.ps1 files accordingly.
- Enable GitHub Actions for this repository.

2
Scoop-Bucket.Tests.ps1 Normal file
View file

@ -0,0 +1,2 @@
if (!$env:SCOOP_HOME) { $env:SCOOP_HOME = Resolve-Path (scoop prefix scoop) }
. "$env:SCOOP_HOME\test\Import-Bucket-Tests.ps1"

9
bin/auto-pr.ps1 Normal file
View file

@ -0,0 +1,9 @@
param(
# overwrite upstream param
[String]$upstream = "<username>/<bucketname>:main"
)
if (!$env:SCOOP_HOME) { $env:SCOOP_HOME = Convert-Path (scoop prefix scoop) }
$autopr = "$env:SCOOP_HOME/bin/auto-pr.ps1"
$dir = "$PSScriptRoot/../bucket" # checks the parent dir
& $autopr -Dir $dir -Upstream $Upstream @Args

4
bin/checkhashes.ps1 Normal file
View file

@ -0,0 +1,4 @@
if (!$env:SCOOP_HOME) { $env:SCOOP_HOME = Convert-Path (scoop prefix scoop) }
$checkhashes = "$env:SCOOP_HOME/bin/checkhashes.ps1"
$dir = "$PSScriptRoot/../bucket" # checks the parent dir
& $checkhashes -Dir $dir @Args

4
bin/checkurls.ps1 Normal file
View file

@ -0,0 +1,4 @@
if (!$env:SCOOP_HOME) { $env:SCOOP_HOME = Convert-Path (scoop prefix scoop) }
$checkurls = "$env:SCOOP_HOME/bin/checkurls.ps1"
$dir = "$PSScriptRoot/../bucket" # checks the parent dir
& $checkurls -Dir $dir @Args

4
bin/checkver.ps1 Normal file
View file

@ -0,0 +1,4 @@
if (!$env:SCOOP_HOME) { $env:SCOOP_HOME = Convert-Path (scoop prefix scoop) }
$checkver = "$env:SCOOP_HOME/bin/checkver.ps1"
$dir = "$PSScriptRoot/../bucket" # checks the parent dir
& $checkver -Dir $dir @Args

4
bin/formatjson.ps1 Normal file
View file

@ -0,0 +1,4 @@
if (!$env:SCOOP_HOME) { $env:SCOOP_HOME = Convert-Path (scoop prefix scoop) }
$formatjson = "$env:SCOOP_HOME/bin/formatjson.ps1"
$path = "$PSScriptRoot/../bucket" # checks the parent dir
& $formatjson -Dir $path @Args

4
bin/missing-checkver.ps1 Normal file
View file

@ -0,0 +1,4 @@
if (!$env:SCOOP_HOME) { $env:SCOOP_HOME = Convert-Path (scoop prefix scoop) }
$missing_checkver = "$env:SCOOP_HOME/bin/missing-checkver.ps1"
$dir = "$PSScriptRoot/../bucket" # checks the parent dir
& $missing_checkver -Dir $dir @Args

15
bin/test.ps1 Normal file
View file

@ -0,0 +1,15 @@
#Requires -Version 5.1
#Requires -Modules @{ ModuleName = 'BuildHelpers'; ModuleVersion = '2.0.1' }
#Requires -Modules @{ ModuleName = 'Pester'; ModuleVersion = '5.2.0' }
$pesterConfig = New-PesterConfiguration -Hashtable @{
Run = @{
Path = "$PSScriptRoot/.."
PassThru = $true
}
Output = @{
Verbosity = 'Detailed'
}
}
$result = Invoke-Pester -Configuration $pesterConfig
exit $result.FailedCount

View file

@ -0,0 +1,63 @@
{
"##": "This file is a template. Fill the blanks and add or remove fields as necessary.",
"version": "",
"description": "",
"homepage": "",
"license": "",
"notes": "",
"architecture": {
"64bit": {
"url": "",
"hash": ""
},
"32bit": {
"url": "",
"hash": ""
},
"arm64": {
"url": "",
"hash": ""
}
},
"pre_install": "",
"installer": {
"script": ""
},
"post_install": [
"",
""
],
"uninstaller": {
"script": ""
},
"bin": "",
"env_add_path": [
"",
""
],
"persist": [
"",
""
],
"checkver": {
"url": "",
"regex": ""
},
"autoupdate": {
"architecture": {
"64bit": {
"url": ""
},
"32bit": {
"url": ""
},
"arm64": {
"url": ""
}
},
"hash": {
"url": "",
"regex": ""
}
}
}

2
deprecated/.gitkeep Normal file
View file

@ -0,0 +1,2 @@
# This directory stores all the deprecated JSON manifests, which are not meant to be installed.
# Delete this '.gitkeep' file once this directory has any files.

2
scripts/.gitkeep Normal file
View file

@ -0,0 +1,2 @@
# This directory stores helper files like shell scripts, registry entries etc. for installable applications.
# Delete this '.gitkeep' file once this directory has any files.