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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5848f2a2de5e0c3a6d88dbb5160b90699f8e6b0075af0598a703d76a3a67a6fe
4
- data.tar.gz: c653c7473c232c97d22e13656e7def070da7c478ad18ddbc44e8f9d596faa115
3
+ metadata.gz: 134cfe690edd007f3b616d068d71bacac0fe53f8cceed1cd98e355cfde631010
4
+ data.tar.gz: 9f29cd01d22b8ef7dd9984006f955beb6a80c5dbd6c773c4f1b12ef4d1aeb326
5
5
  SHA512:
6
- metadata.gz: 52df014c507a0746bc1573c9642ddda9cfa4cbaebbbdc763cda877bd6507ebf2119ce716b0ab4e69eb1abd8408025d5e0b5aa7e7928464f1e811784ffc0ccd24
7
- data.tar.gz: 548c13c22c057b1d737673421cb3b9ce71c9dc5cb192cf5e0e0f9a7962f9251ddc1011e85516503c7fad110b9c1bb05ec91ae45605382bf8dd3fc6f0b9a3c29a
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
@@ -81,11 +81,28 @@ module Crosspack
81
81
  fallback = rule['*']
82
82
  return fallback unless fallback.nil?
83
83
 
84
- versions = rule.keys.map { |v| v == '*' ? '"*" (any)' : v.inspect }.join(', ')
85
- raise ResolveError,
86
- "#{name}: no rules for #{family} #{target.version.inspect} and no \"*\" key. " \
87
- "Versions described in the file: #{versions}. Add targets.#{family}.\"#{target.version}\" " \
88
- 'or a "*" wildcard rule'
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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Crosspack
4
- VERSION = '0.8.0'
4
+ VERSION = '0.9.0'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: crosspack
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0
4
+ version: 0.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Oleg Orlov