crosspack 0.8.0 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +11 -0
- data/README.md +2 -0
- data/lib/crosspack/resolver.rb +22 -5
- data/lib/crosspack/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 134cfe690edd007f3b616d068d71bacac0fe53f8cceed1cd98e355cfde631010
|
|
4
|
+
data.tar.gz: 9f29cd01d22b8ef7dd9984006f955beb6a80c5dbd6c773c4f1b12ef4d1aeb326
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: cd549f921be34bc876d5fa261d8fffb426c3e9356eb3bc1c30afc70954c98856efafc22b7323b70eeff48d8eb379002b477e6cd69678c9d2c87c933c1d59246c
|
|
7
|
+
data.tar.gz: be9a6cbec90a2e3b42121c504ec6108e9b95d9bbcbd5ed64e72fa929ef793ae5fb7cc7ef9195ac993a73848e65d49cb10d61672ea78d68499eaa1d193d80ec32
|
data/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,17 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [0.9.0] - 2026-10-25
|
|
9
|
+
|
|
10
|
+
### Changed
|
|
11
|
+
- Dependency resolution no longer aborts on an undescribed distro version
|
|
12
|
+
(e.g. `ubuntu-26.04`): when the deps: section has no rule for the exact
|
|
13
|
+
version and no `"*"` wildcard, crosspack now falls back to the rules of
|
|
14
|
+
the newest described version of that family and prints a warning.
|
|
15
|
+
Only a family with no rules at all remains a hard error.
|
|
16
|
+
|
|
17
|
+
[0.9.0]: https://github.com/OrelSokolov/crosspack/releases/tag/v0.9.0
|
|
18
|
+
|
|
8
19
|
## [0.8.0] - 2026-09-27
|
|
9
20
|
|
|
10
21
|
### Added
|
data/README.md
CHANGED
|
@@ -197,6 +197,8 @@ deps:
|
|
|
197
197
|
fedora: { "*": [webkit2gtk4.1] }
|
|
198
198
|
macos: system # OS component
|
|
199
199
|
windows: system # preinstalled (WebView2)
|
|
200
|
+
# An undescribed version (ubuntu-26.04) falls back to the newest described
|
|
201
|
+
# version of the family with a warning; only a family with no rules errors.
|
|
200
202
|
|
|
201
203
|
# host-only launch hooks (optional): same host selectors as build.deps
|
|
202
204
|
run: # `crosspack run`: how to launch the built binary
|
data/lib/crosspack/resolver.rb
CHANGED
|
@@ -81,11 +81,28 @@ module Crosspack
|
|
|
81
81
|
fallback = rule['*']
|
|
82
82
|
return fallback unless fallback.nil?
|
|
83
83
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
84
|
+
newest = newest_version_key(rule.keys)
|
|
85
|
+
if newest.nil?
|
|
86
|
+
versions = rule.keys.map { |v| v == '*' ? '"*" (any)' : v.inspect }.join(', ')
|
|
87
|
+
raise ResolveError,
|
|
88
|
+
"#{name}: no rules for #{family} #{target.version.inspect} and no \"*\" key. " \
|
|
89
|
+
"Versions described in the file: #{versions}. Add targets.#{family}.\"#{target.version}\" " \
|
|
90
|
+
'or a "*" wildcard rule'
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
warn Colors.yellow(
|
|
94
|
+
"#{name}: no recipe for #{family} #{target.version.inspect} — " \
|
|
95
|
+
"using the rules of the newest described version #{newest.inspect}. " \
|
|
96
|
+
"Add targets.#{family}.\"#{target.version}\" or a \"*\" wildcard to pin it explicitly"
|
|
97
|
+
)
|
|
98
|
+
rule[newest]
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
# The newest version key among the described ones ("24.10" beats "24.4",
|
|
102
|
+
# which beats "9"), comparing dot-separated numeric segments.
|
|
103
|
+
def newest_version_key(keys)
|
|
104
|
+
keys.reject { |k| k == '*' }
|
|
105
|
+
.max_by { |k| k.split('.').map(&:to_i) }
|
|
89
106
|
end
|
|
90
107
|
end
|
|
91
108
|
end
|
data/lib/crosspack/version.rb
CHANGED