bundler-spinel 0.1.0 → 0.1.1

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: 99f01821538cfb0ce86a06e2ecb1251f89e1086530c59423715f509d18e0c717
4
- data.tar.gz: ca1c456f3bf3c4d9e4424a0466daa23bb4495b64357adfed8a69145953d54a06
3
+ metadata.gz: 76d26ae3fb919613ecbd538b81af7c07d1000ac69283770dcbe402f25e37e6fa
4
+ data.tar.gz: f445da298655fb8e24ef3c862d68e93620ff3271cfbcc25926667c771331b01d
5
5
  SHA512:
6
- metadata.gz: fa08674c1d4206f15713004a9452d3aba7b43c2f6a1997c5c0d6d97ac7bbe00a4b2a986eb50673518acebcf807cab58ad785916aa1c3d3c71dab939d1e4c9163
7
- data.tar.gz: 41b3407d8dd4d7f115a50c3294e0e0204e9c3c719ee52042876245ff0a63fa1cfd4b1e2ba8b97037d94ba27a2f25c25f893660999b306ce912663e050ed674d6
6
+ metadata.gz: b719d83dde793a35980b3a607625905f9da5e294ce762f39a74039a9fce4771595b5a0734ee4ccf732f549b3378e9e9db28d93f7d70da7f88d976a30f095d38e
7
+ data.tar.gz: aa986cc8de2f1d84fcc0eddc5d2f8627802bf49cb218e8160b4741b59185bc351a1be98d123febd55293e703c9dd00b19fae73b88fcf4bc7842891898db3a5be
data/CHANGELOG.md CHANGED
@@ -4,6 +4,16 @@ All notable changes to `bundler-spinel` are documented here. The format
4
4
  follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and the
5
5
  project aims to follow [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
+ ## [0.1.1] — 2026-06-01
8
+
9
+ ### Fixed
10
+ - **`init` scaffold produced an unlockable Gemfile.** It wrote the engine git SHA
11
+ into `engine_version:`, which bundler parses as a Gem version requirement —
12
+ `bundle lock` died with `Illformed requirement [...]`. The scaffold now writes a
13
+ version-literal `engine_version: "0.0.0"` (advisory) and pins the real revision
14
+ in a `SPINEL_PIN` file, which `install-engine` already reads. Caught by a
15
+ clean-room `ruby:3.3` Docker run of the full onboarding flow.
16
+
7
17
  ## [0.1.0] — 2026-06-01
8
18
 
9
19
  First non-prerelease. Installable without `--pre`. Closes the onboarding gap
@@ -57,5 +67,6 @@ and the ledger format may all change before `0.0.1`. Install with `--pre`.
57
67
  - Wholesale `survey` with a thread-safe ledger, a per-compile wall-clock
58
68
  timeout (`analyze-timeout` reject reason), and a ledger-based report.
59
69
 
70
+ [0.1.1]: https://github.com/OriPekelman/spinelgems/releases/tag/v0.1.1
60
71
  [0.1.0]: https://github.com/OriPekelman/spinelgems/releases/tag/v0.1.0
61
72
  [0.0.1.pre]: https://github.com/OriPekelman/spinelgems/releases/tag/v0.0.1.pre
@@ -160,7 +160,12 @@ module Bundler
160
160
  def init(dir, out: $stdout, rev: nil)
161
161
  FileUtils.mkdir_p(dir)
162
162
  engine_rev = rev || EngineInstaller::DEFAULT_REV
163
- write(out, File.join(dir, "Gemfile"), gemfile(engine_rev))
163
+ write(out, File.join(dir, "Gemfile"), gemfile)
164
+ # The engine revision is a git SHA — NOT a valid `engine_version:` (bundler
165
+ # parses that as a Gem version requirement and `bundle lock` errors on a
166
+ # SHA). So the rev lives in a SPINEL_PIN file, which `install-engine`
167
+ # reads; the Gemfile keeps a version-literal advisory marker.
168
+ write(out, File.join(dir, "SPINEL_PIN"), "#{engine_rev}\n")
164
169
  write(out, File.join(dir, "app.rb"), app_rb)
165
170
  bin = File.join(dir, "bin", "build")
166
171
  FileUtils.mkdir_p(File.dirname(bin))
@@ -185,16 +190,18 @@ module Bundler
185
190
  end
186
191
  end
187
192
 
188
- def gemfile(rev)
193
+ def gemfile
189
194
  <<~RUBY
190
195
  source "https://rubygems.org"
191
196
 
192
197
  # Spinel is the engine: code here is compiled ahead-of-time to a native
193
- # binary, not run on CRuby. The compat ledger (bundler-spinel) gates the
194
- # lock so you only resolve gems known to compile under this engine rev.
195
- ruby "3.3.0", engine: "spinel", engine_version: "#{rev}"
198
+ # binary, not run on CRuby. `engine_version` is advisory and must be a
199
+ # version literal (bundler parses it as a Gem requirement); the actual
200
+ # engine revision install-engine builds is pinned in ./SPINEL_PIN.
201
+ ruby "3.3.0", engine: "spinel", engine_version: "0.0.0"
196
202
 
197
- # The web framework — Sinatra-style, compiles via Spinel.
203
+ # The web framework — Sinatra-style, compiles via Spinel. Until tep is on
204
+ # RubyGems, point at the repo: gem "tep", git: "https://github.com/OriPekelman/tep.git"
198
205
  gem "tep"
199
206
  RUBY
200
207
  end
@@ -4,6 +4,6 @@ module Bundler
4
4
  # are proven, and `install-engine` now provisions the compiler too, so a
5
5
  # newcomer can `gem install bundler-spinel` and onboard without an
6
6
  # out-of-band Spinel build (spinelgems#9).
7
- VERSION = "0.1.0"
7
+ VERSION = "0.1.1"
8
8
  end
9
9
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bundler-spinel
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ori Pekelman