Skip to content

icofx: Add version 1.6.4#17896

Open
NilsonPark wants to merge 1 commit into
ScoopInstaller:masterfrom
NilsonPark:add-icofx
Open

icofx: Add version 1.6.4#17896
NilsonPark wants to merge 1 commit into
ScoopInstaller:masterfrom
NilsonPark:add-icofx

Conversation

@NilsonPark

Copy link
Copy Markdown
Contributor

icofx is an icon editor

  • Use conventional PR title: <manifest-name[@version]|chore>: <general summary of the pull request>
  • I have read the Contributing Guide

@coderabbitai

coderabbitai Bot commented May 26, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

This PR adds a new package manifest for IcoFX version 1.6.4 to the Scoop Extras bucket. The bucket/icofx.json file defines the portable application metadata, including the download URL, SHA256 hash, extraction directory, binary path, shortcut entries for application launch, and a post-installation PowerShell script that removes the App subdirectory from the installation folder for a flattened directory structure.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Suggested labels

package-request-needed

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title 'icofx: Add version 1.6.4' clearly and specifically summarizes the main change - adding version 1.6.4 of icofx package metadata.
Description check ✅ Passed The description includes the required conventional PR title format confirmation and confirms reading the Contributing Guide, meeting the template requirements.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ 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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot added the package-request-needed Create a package request issue before raising PR. Check the criteria for a package to be accepted. label May 26, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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:

  1. Format the manifest:

    .\bin\formatjson.ps1 -App icofx
  2. Test 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 -f
  3. Test installation:

    scoop install bucket/icofx.json
  4. Verify the application launches:

    • Check that IcoFX.exe runs correctly
    • Verify shortcuts are created
    • Test persistence (configuration should survive reinstall/update)
  5. Test uninstallation:

    scoop uninstall icofx

For 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

📥 Commits

Reviewing files that changed from the base of the PR and between fe5e654 and 4538d44.

📒 Files selected for processing (1)
  • bucket/icofx.json

Comment thread bucket/icofx.json
Comment on lines +1 to +18
{
"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"
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical | 🏗️ Heavy lift

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 -f

For 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.

⚠️ Potential issue | 🔴 Critical | ⚡ Quick win

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:

  1. Link a package request issue (e.g., #123 or issue URL)
  2. 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.

Comment thread bucket/icofx.json
"version": "1.6.4",
"description": "An icon editor",
"homepage": "https://icofx.ro/",
"license": "Unknown",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

🧩 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:


🌐 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:


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.

arvdk added a commit to arvdk/Extras that referenced this pull request Jun 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

package-request-needed Create a package request issue before raising PR. Check the criteria for a package to be accepted.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant