kde-neon: invalid CMAKE_PREFIX_PATH
Metadata
Current evaluation
CMAKE_PREFIX_PATH incorrectly used semicolons instead of colons in kde-neon builds. The bug was fixed and merged in PR #5310, correcting the separator to match CMake's Linux requirements. Issue closed as completed.
Suggested action: —
No scores available.
Issue body
### Bug Description
PR https://github.com/canonical/snapcraft/pull/5092 added `core24` support for `kde-neon{,-6}`-based snaps.
It also added `CMAKE_PREFIX_PATH` as an environment variable to the build environment. However, it separated the multiple paths in the variable with semicolon (`;`), whereas [CMake expects a colon (`:`) as a separator on Linux](https://cmake.org/cmake/help/latest/envvar/CMAKE_PREFIX_PATH.html).
https://github.com/canonical/snapcraft/blob/cdf598656caa546db8c5a06815d4edee4fbeb684/snapcraft/extensions/kde_neon.py#L309-L320
However, there is a potential source of confusion here. CMake has:
1. [`CMAKE_PREFIX_PATH` as an environment variable](https://cmake.org/cmake/help/latest/envvar/CMAKE_PREFIX_PATH.html). Paths separated by colon (`:`). With the current code, `prepend_to_env()` will add the wrong separator.
2. [`CMAKE_PREFIX_PATH` as a CMake variable](https://cmake.org/cmake/help/latest/variable/CMAKE_PREFIX_PATH.html#variable:CMAKE_PREFIX_PATH) Paths separated by semicolon (`;`) With the current code, `prepend_to_env()` is not the right function, as it's not and environment variable.
The question is, which one of the two are we trying to add?
### To Reproduce
Running the following command on any `kde-neon` snap shows that `CMAKE_PREFIX_PATH` is semicolon-separated, instead of colon-separated
```
snapcraft expand-extensions
```
### Environment
Ubuntu 24.04 LTS in destructive mode or LXD.
### snapcraft.yaml
```yaml
N/A
```
### Relevant log output
```shell
N/A
```
### Additional context
_No response_
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | CMAKE_PREFIX_PATH incorrectly used semicolons instead of colons in kde-neon builds. The bug was fixed and merged in PR #5310, correcting the separator to match CMake's Linux requirements. Issue closed as completed. | |
| qwen/qwen3.6-35b-a3b | — | — | Fixed in PR #5310. The kde-neon extension incorrectly used semicolons instead of colons to separate paths in the CMAKE_PREFIX_PATH environment variable. The maintainer confirmed the resolution and closed the issue. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Fixed by merging pull request #5310, which corrected the CMAKE_PREFIX_PATH path delimiter from semicolon to colon for kde-neon snaps. The bug is resolved and the issue is closed. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Fixed the kde-neon extension bug where CMAKE_PREFIX_PATH used incorrect semicolon separators. The fix was merged in PR #5310 and the issue was closed as completed. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #5585 fix: kde-neon: Append usr to cmake prefix path #5272 | snapcraft | merged | Merged a fix for KDE Neon that appends usr to the CMake prefix path. Approved by two reviewers and passed integration and security checks. A conventional commits policy check failed but did not block the merge. |