icofx: Add version 1.6.4#17896
Conversation
📝 WalkthroughWalkthroughThis PR adds a new package manifest for IcoFX version 1.6.4 to the Scoop Extras bucket. The Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Suggested labels
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 3
🧹 Nitpick comments (1)
bucket/icofx.json (1)
1-18: Testing instructions.Before this manifest is merged, please test it locally following these steps:
Format the manifest:
.\bin\formatjson.ps1 -App icofxTest checkver (once autoupdate is added):
# Optional: Enable debug mode and set GitHub token scoop config debug true scoop config gh_token <your-token> # Read access only # Force version detection .\bin\checkver.ps1 -App icofx -fTest installation:
scoop install bucket/icofx.jsonVerify the application launches:
- Check that
IcoFX.exeruns correctly- Verify shortcuts are created
- Test persistence (configuration should survive reinstall/update)
Test uninstallation:
scoop uninstall icofxFor more details, see: https://github.com/ScoopInstaller/.github/blob/main/.github/CONTRIBUTING.md
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@bucket/icofx.json` around lines 1 - 18, Run the full local verification checklist before merging: format the manifest using the project's format script (ensure the JSON for keys like "version", "url", "hash", "extract_dir", "bin", "shortcuts", "persist", "post_install" is well-formed), run checkver once an autoupdate is added to validate version detection, install the manifest with Scoop and confirm IcoFX.exe launches, shortcuts are created, and the "persist" data survives reinstall/update, then uninstall to confirm cleanup; fix any issues found (malformed JSON, wrong "bin"/"extract_dir"/"shortcuts" paths, incorrect "persist" entry, or broken "post_install" Remove-Item command) and re-run the tests.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@bucket/icofx.json`:
- Around line 1-18: Add missing "checkver" and "autoupdate" blocks to the
manifest: implement a checkver that points to the PortableApps IcoFX page (e.g.,
url "https://portableapps.com/apps/graphics_pictures/icofx_portable") and a
regex that captures the PortableApps filename version (suggested pattern:
"IcoFXPortable[_\\s]([\\d.]+)" or adjust to actual naming), and add an
autoupdate block that uses variables (e.g., "$version" and "$preReleaseVersion"
if needed) in the download template instead of hardcoded values (for example
reuse the existing redirect URL but replace the numeric parts with
$version/$preReleaseVersion); update the manifest keys "checkver" and
"autoupdate" accordingly so checkver.ps1 can detect new releases.
- Around line 1-18: This new manifest (icofx.json) is missing a linked package
request issue; create a package request on the repo using the provided template
and then either add the issue reference (e.g., “#123” or full issue URL) to the
PR description and/or include that reference in the manifest's "description"
field so reviewers can verify the package request and acceptance criteria are
met for the IcoFX package.
- Line 5: Replace the manifest's "license" field which currently is set to
"Unknown" with an appropriate value for IcoFX—use Scoop's "Shareware" license
token or set "license" to a URL pointing to the official EULA/terms (e.g., the
IcoFX intro/EULA page) so the manifest accurately reflects that IcoFX is
proprietary trialware; update the "license" key in icofx.json accordingly.
---
Nitpick comments:
In `@bucket/icofx.json`:
- Around line 1-18: Run the full local verification checklist before merging:
format the manifest using the project's format script (ensure the JSON for keys
like "version", "url", "hash", "extract_dir", "bin", "shortcuts", "persist",
"post_install" is well-formed), run checkver once an autoupdate is added to
validate version detection, install the manifest with Scoop and confirm
IcoFX.exe launches, shortcuts are created, and the "persist" data survives
reinstall/update, then uninstall to confirm cleanup; fix any issues found
(malformed JSON, wrong "bin"/"extract_dir"/"shortcuts" paths, incorrect
"persist" entry, or broken "post_install" Remove-Item command) and re-run the
tests.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 5decd8c9-4917-420c-bb94-d96acf110e33
📒 Files selected for processing (1)
bucket/icofx.json
| { | ||
| "version": "1.6.4", | ||
| "description": "An icon editor", | ||
| "homepage": "https://icofx.ro/", | ||
| "license": "Unknown", | ||
| "url": "https://portableapps.com/redirect/?a=IcoFXPortable&s=s&d=pa&f=IcoFXPortable_1.6.4_Rev_3.paf.exe#/dl.7z", | ||
| "hash": "a17f11c4b02279b43cbde447b5d25b324baa7611156378174b264adc641f2bbf", | ||
| "extract_dir": "App/IcoFX", | ||
| "bin": "IcoFX.exe", | ||
| "shortcuts": [ | ||
| [ | ||
| "IcoFX.exe", | ||
| "IcoFX" | ||
| ] | ||
| ], | ||
| "persist": "IcoFX", | ||
| "post_install": "Remove-Item \"$dir\\App\" -Force" | ||
| } |
There was a problem hiding this comment.
Missing checkver and autoupdate blocks.
The manifest lacks checkver and autoupdate configuration, which are essential for automated version updates. Without these blocks, the package cannot be automatically updated when new versions are released.
Since the download URL uses PortableApps.com, you'll need to configure checkver to monitor the appropriate source for version updates. Here's a starting point:
📝 Suggested autoupdate configuration
"checkver": {
"url": "https://portableapps.com/apps/graphics_pictures/icofx_portable",
"regex": "IcoFXPortable[_\\s]([\\d.]+)"
},
"autoupdate": {
"url": "https://portableapps.com/redirect/?a=IcoFXPortable&s=s&d=pa&f=IcoFXPortable_$version_Rev_$preReleaseVersion.paf.exe#/dl.7z"
}Note: You may need to adjust the regex pattern and URL template based on PortableApps' actual naming convention. Test with:
.\bin\checkver.ps1 -App icofx -fFor guidance, see: https://github.com/ScoopInstaller/Scoop/wiki/App-Manifests
As per coding guidelines: "NEVER allow hardcoded version numbers in the autoupdate block. They must use variables like $version."
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@bucket/icofx.json` around lines 1 - 18, Add missing "checkver" and
"autoupdate" blocks to the manifest: implement a checkver that points to the
PortableApps IcoFX page (e.g., url
"https://portableapps.com/apps/graphics_pictures/icofx_portable") and a regex
that captures the PortableApps filename version (suggested pattern:
"IcoFXPortable[_\\s]([\\d.]+)" or adjust to actual naming), and add an
autoupdate block that uses variables (e.g., "$version" and "$preReleaseVersion"
if needed) in the download template instead of hardcoded values (for example
reuse the existing redirect URL but replace the numeric parts with
$version/$preReleaseVersion); update the manifest keys "checkver" and
"autoupdate" accordingly so checkver.ps1 can detect new releases.
Missing package request issue link for new package.
This PR adds a new manifest but does not link a package request issue in the PR description or manifest description field. According to the repository's package request policy, new packages must:
- Link a package request issue (e.g.,
#123or issue URL) - Meet acceptance criteria:
- Reasonably well-known and widely used (e.g., 100+ GitHub stars if applicable)
- Stable release available (not pre-release/alpha)
- English interface or documentation
Please create a package request issue and link it in the PR description:
https://github.com/ScoopInstaller/Extras/issues/new?labels=package-request&template=package-request.yml&title=%5BRequest%5D%3A+
As per coding guidelines: "If this is a NEWLY ADDED manifest file, check the description field or the PR body for a linked GitHub issue. If missing, warn the contributor to create a package request issue and link it in the description or PR body."
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@bucket/icofx.json` around lines 1 - 18, This new manifest (icofx.json) is
missing a linked package request issue; create a package request on the repo
using the provided template and then either add the issue reference (e.g.,
“#123” or full issue URL) to the PR description and/or include that reference in
the manifest's "description" field so reviewers can verify the package request
and acceptance criteria are met for the IcoFX package.
| "version": "1.6.4", | ||
| "description": "An icon editor", | ||
| "homepage": "https://icofx.ro/", | ||
| "license": "Unknown", |
There was a problem hiding this comment.
🧩 Analysis chain
🌐 Web query:
What is the license for IcoFX software?
💡 Result:
IcoFX is proprietary, commercial software licensed under a trialware model [1]. It is not free software [2][1]. Key details regarding the IcoFX license include: Evaluation/Trial: You can download and use IcoFX as an evaluation version free of charge for up to 30 days [2]. After this period, the save feature is disabled unless a license is purchased [2]. License Tiers: IcoFX offers three types of commercial licenses: - Home License: Intended for individual users for non-commercial purposes [3]. - Business License: Required for companies, organizations, or if you use the software for commercial purposes (including selling icons or using them in commercial applications) [3]. This license also unlocks full features like batch processing [3]. - Site License: Allows installation and use on all computers at a single physical location (a building or set of buildings within 10 km) [3]. General Terms: - Licensing: The software is licensed, not sold [4][5]. - Multi-device use: You can install your license on multiple devices as long as it is for your own use [6]. Each user must own a license [5]. - Updates: Licenses for IcoFX 3.x include free updates within that major version [6]. Historically, older versions of IcoFX (specifically version 1.6.4 and earlier) were released as freeware, but all current versions are commercial trialware [1]. Users are encouraged to consult the specific End-User License Agreement (EULA) presented during the installation process for the most accurate and legally binding terms [2][4].
Citations:
- 1: https://en.wikipedia.org/wiki/IcoFX
- 2: https://icofx.ro/help2/intro.html
- 3: https://icofx.ro/compare.html
- 4: https://icofx.soft112.com/eula.html
- 5: https://icofx.ro/keyfx/license.html
- 6: https://icofx.ro/faq.html
🌐 Web query:
Scoop manifest license field allowed values (e.g., Proprietary, Freeware, Shareware, Trialware)
💡 Result:
In Scoop manifests, the license field identifies the software license of the application. The recommended approach depends on whether the license is well-known or custom [1][2]. For well-known licenses, you should use the official identifier from the SPDX License List [1][2][3]. For licenses not covered by SPDX or when the specific license is unclear, the Scoop documentation specifies the following fallback values: - Freeware: Software that is free to use indefinitely [1][2]. - Proprietary: Software that requires payment or has restrictive, non-open terms [1][2]. - Shareware: Software that is free to try, but typically requires payment after a trial period [1][2]. - Public Domain: Software with no copyright restrictions [1][2]. - Unknown: Used when the license cannot be determined [1][2]. The license field can accept a string or a hash [1][2]. When using a hash, you can specify the license identifier and include a URL to the license text for clarity [1][2]. Additionally, if an application has multiple licenses, you can separate them with a comma (,) for a list or a pipe symbol (|) for dual-licensed software [1][2].
Citations:
- 1: https://github.com/ScoopInstaller/Scoop/wiki/App-Manifests
- 2: https://scoop.netlify.app/concepts/
- 3: https://catalog.lintel.tools/schemas/schemastore/scoop-manifest/
Set IcoFX license correctly (replace "Unknown")
bucket/icofx.json sets "license": "Unknown", but IcoFX is proprietary commercial trialware/evaluation (free trial with features disabled unless a paid license is purchased). Use Scoop’s "Shareware" (or include a license URL to the official EULA/license terms).
https://icofx.ro/help2/intro.html
https://github.com/ScoopInstaller/Scoop/wiki/App-Manifests
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@bucket/icofx.json` at line 5, Replace the manifest's "license" field which
currently is set to "Unknown" with an appropriate value for IcoFX—use Scoop's
"Shareware" license token or set "license" to a URL pointing to the official
EULA/terms (e.g., the IcoFX intro/EULA page) so the manifest accurately reflects
that IcoFX is proprietary trialware; update the "license" key in icofx.json
accordingly.
icofx is an icon editor
<manifest-name[@version]|chore>: <general summary of the pull request>