sup 1.1 → 1.2

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.
Files changed (54) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/checks.yml +27 -39
  3. data/CONTRIBUTORS +3 -1
  4. data/History.txt +16 -3
  5. data/Manifest.txt +22 -0
  6. data/README.md +0 -1
  7. data/bin/sup-sync-back-maildir +1 -1
  8. data/contrib/nix/Gemfile +22 -0
  9. data/contrib/nix/Gemfile.lock +80 -0
  10. data/contrib/nix/README +7 -0
  11. data/contrib/nix/gem-install-shell.nix +12 -0
  12. data/contrib/nix/gemset.nix +339 -0
  13. data/contrib/nix/ruby2.4-Gemfile.lock +81 -0
  14. data/contrib/nix/ruby2.4-gemset.nix +309 -0
  15. data/contrib/nix/ruby2.4-shell.nix +30 -0
  16. data/contrib/nix/ruby2.5-Gemfile.lock +81 -0
  17. data/contrib/nix/ruby2.5-gemset.nix +309 -0
  18. data/contrib/nix/ruby2.5-shell.nix +30 -0
  19. data/contrib/nix/ruby2.6-Gemfile.lock +83 -0
  20. data/contrib/nix/ruby2.6-gemset.nix +319 -0
  21. data/contrib/nix/ruby2.6-shell.nix +30 -0
  22. data/contrib/nix/ruby2.7-shell.nix +23 -0
  23. data/contrib/nix/ruby3.0-shell.nix +23 -0
  24. data/contrib/nix/ruby3.1-shell.nix +23 -0
  25. data/contrib/nix/ruby3.2-shell.nix +23 -0
  26. data/contrib/nix/ruby3.3-shell.nix +23 -0
  27. data/contrib/nix/test-all-rubies.sh +6 -0
  28. data/doc/Hooks.txt +1 -1
  29. data/ext/mkrf_conf_xapian.rb +2 -2
  30. data/lib/sup/crypto.rb +1 -1
  31. data/lib/sup/index.rb +2 -2
  32. data/lib/sup/maildir.rb +1 -1
  33. data/lib/sup/mbox.rb +1 -1
  34. data/lib/sup/message.rb +2 -2
  35. data/lib/sup/modes/console_mode.rb +1 -1
  36. data/lib/sup/thread.rb +20 -20
  37. data/lib/sup/util.rb +3 -5
  38. data/lib/sup/version.rb +1 -1
  39. data/man/sup-add.1 +27 -27
  40. data/man/sup-config.1 +23 -19
  41. data/man/sup-dump.1 +28 -29
  42. data/man/sup-import-dump.1 +24 -20
  43. data/man/sup-psych-ify-config-files.1 +23 -19
  44. data/man/sup-recover-sources.1 +23 -19
  45. data/man/sup-sync-back-maildir.1 +23 -19
  46. data/man/sup-sync.1 +23 -19
  47. data/man/sup-tweak-labels.1 +23 -19
  48. data/man/sup.1 +23 -19
  49. data/shell.nix +1 -0
  50. data/test/integration/test_maildir.rb +3 -0
  51. data/test/integration/test_mbox.rb +3 -0
  52. data/test/integration/test_sup-sync-back-maildir.rb +40 -0
  53. data/test/test_header_parsing.rb +2 -2
  54. metadata +26 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 93d027a0f383edb73d1a2900ca991d8d8d8daca922f0088c18f5281ca04daeb4
4
- data.tar.gz: 31b25e512227252a498baa651ea9b026ba452274dd5c67c99412dc2ef54f3e7a
3
+ metadata.gz: 9b3d74175eddced998ccf3d918989ba1f90781bb0f2432df5cc11ae2cf3a5ba9
4
+ data.tar.gz: f415405432adaa8fcfa9a10640107da0cce2575afee758902b934b137e1077e3
5
5
  SHA512:
6
- metadata.gz: 06211d3a91b76d20396afe9323bdf62d14acf61d13688333ae8f6409b55ff2120037df11e0a5e62e869e476868307a42216ee34e28f3621a05da0f9953a6cda3
7
- data.tar.gz: f17bac030201cdabd4c6e3313a4178fb03f65f70992dcd4364cde425d1fd658408973b1758c7d45b13140dddde0e92f34006d6085140bbbb76164081083e9006
6
+ metadata.gz: 1e3f012755517d29e9c2c0f5df80eac0432390bcbdd3108e32f921794aeafb2e791e9e6ff64b0663d1c1495b0040ebb1bbe8c006113380b787715ba85edf34dd
7
+ data.tar.gz: bc829f5939d98acd30f8c241b4f4defd3d6e8c09bde0a39802e28a5a2ecb78a15d7d7e4f25aa7456e0ddd6e20d01453d0715d8947942c74808c65037720fb25b
@@ -17,54 +17,42 @@ jobs:
17
17
  - ubuntu-latest
18
18
  - macos-latest
19
19
  ruby-version:
20
- - '2.0'
21
- - '2.1'
22
- # Ruby 2.2 fails installing sup gem with a nonsensical error:
23
- # Could not find 'xapian-ruby' (~> 1.2) among 21 total gem(s)
24
- #- '2.2'
25
- - '2.3'
26
20
  - '2.4'
27
21
  - '2.5'
28
22
  - '2.6'
29
23
  - '2.7'
30
24
  - '3.0'
31
25
  - '3.1'
32
- exclude:
33
- # xapian-bindings 1.2.2 fails to build on MacOS:
34
- # clang: warning: include path for libstdc++ headers not found; pass
35
- # '-stdlib=libc++' on the command line to use the libc++ standard
36
- # library instead [-Wstdlibcxx-not-found]
37
- # xapian_wrap.cc:1836:10: fatal error: 'string' file not found
38
- # Probably just wrong compiler command or some mess that I can't be
39
- # bothered to figure out.
40
- - os: macos-latest
41
- ruby-version: '2.0'
42
- # xapian-bindings 1.4.18 fails to build with Ruby 3.0+ on MacOS:
43
- # error: '__declspec' attributes are not enabled; use '-fdeclspec' or
44
- # '-fms-extensions' to enable support for __declspec attributes
45
- # Needs this fix:
46
- # https://github.com/xapian/xapian/commit/63a06768a250b0bb4821b835f011e8214d560f8e
47
- - os: macos-latest
48
- ruby-version: '3.0'
49
- - os: macos-latest
50
- ruby-version: '3.1'
26
+ - '3.2'
27
+ - '3.3'
51
28
  runs-on: ${{ matrix.os }}
29
+ env:
30
+ nixfile: "contrib/nix/ruby${{ matrix.ruby-version }}-shell.nix"
52
31
  steps:
53
- - name: Install pandoc
54
- run: sudo apt-get install -y pandoc
55
- if: runner.os == 'Linux'
56
- - name: Install pandoc
57
- run: brew install pandoc
58
- if: runner.os == 'macOS'
59
- - uses: actions/checkout@v3
32
+ - name: Check out source
33
+ uses: actions/checkout@v3
60
34
  with:
61
35
  submodules: recursive
62
- - name: Set up Ruby
63
- uses: ruby/setup-ruby@v1
36
+ - name: Cache nix store
37
+ uses: actions/cache@v3
38
+ id: nix-cache
64
39
  with:
65
- ruby-version: ${{ matrix.ruby-version }}
66
- bundler-cache: true
40
+ path: /tmp/nixcache
41
+ key: nix-store-${{ matrix.os }}-ruby${{ matrix.ruby-version }}-${{ hashFiles('contrib/nix/**') }}
42
+ restore-keys: |
43
+ nix-store-${{ matrix.os }}-ruby${{ matrix.ruby-version }}-
44
+ nix-store-
45
+ - name: Install bash on MacOS
46
+ run: brew install bash
47
+ if: runner.os == 'macOS'
48
+ - name: Install nix
49
+ uses: nixbuild/nix-quick-install-action@v21
50
+ - name: Import nix cache
51
+ run: |
52
+ if [ -f /tmp/nixcache ] ; then
53
+ nix-store --import </tmp/nixcache
54
+ fi
67
55
  - name: Run Rake ci task
68
- run: bundle exec rake ci
69
- - name: Test gem installation
70
- run: gem install pkg/sup-*.gem
56
+ run: nix-shell "$nixfile" --run 'rake ci'
57
+ - name: Export nix cache
58
+ run: nix-store --export $(nix-store -qR $(nix-build --no-out-link "$nixfile" -A inputDerivation | tail -n1)) >/tmp/nixcache
data/CONTRIBUTORS CHANGED
@@ -1,8 +1,8 @@
1
1
  William Morgan <william at the twitter dot coms>
2
2
  Rich Lane <rlane at the club.cc.cmu dot edus>
3
3
  Gaute Hope <eg at the gaute.vetsj dot coms>
4
- Whyme Lyu <callme5long at the gmail dot coms>
5
4
  Dan Callaghan <djc at the djc.id dot aus>
5
+ Whyme Lyu <callme5long at the gmail dot coms>
6
6
  Hamish Downer <dmishd at the gmail dot coms>
7
7
  Zeger-Jan van de Weg <mail at the zjvandeweg dot nls>
8
8
  Damien Leone <damien.leone at the fensalir dot frs>
@@ -87,6 +87,8 @@ Todd Eisenberger <teisenbe at the andrew.cmu dot edus>
87
87
  Johannes Larsen <mail at the johslarsen dot nets>
88
88
  Steven Schmeiser <steven at the schmeiser dot orgs>
89
89
  Steven Walter <swalter at the monarch.(none)>
90
+ Patrice Duroux <patrice.duroux at the gmail dot coms>
91
+ gclv <gh at the sg.ggoncalves dot mes>
90
92
  Utkarsh Gupta <utkarsh at the debian dot orgs>
91
93
  Michael Dwyer <mdwyer at the michaelmdwyer dot coms>
92
94
  Kyle Hunt <Kyle_Hunt at the ymail dot coms>
data/History.txt CHANGED
@@ -1,6 +1,19 @@
1
+ == 1.2 / 2024-04-21
2
+
3
+ * #619: Sup is now compatible with and tested on Ruby 3.2 and Ruby 3.3.
4
+ (Dan Callaghan)
5
+ * #603: Fixed deprecated usage of Enumerator.new, which caused a crash on
6
+ Ruby 3+. (Gui Goncalves)
7
+ * OutOfSyncSourceErrors now show an error message in the thread view in place
8
+ of the out-of-sync message body, instead of crashing. (Dan Callaghan)
9
+ * #613: When installing Sup as a gem, the dependency on xapian-ruby is now
10
+ skipped if the SUP_SKIP_XAPIAN_GEM_INSTALL environment variable is set.
11
+ Previously it was skipped unconditionally on OpenBSD only. (Dan Callaghan)
12
+
1
13
  == 1.1 / 2022-05-23
2
14
 
3
15
  * #588, #577: Sup is now compatible with and tested on Ruby 3.0 and Ruby 3.1.
16
+ (Dan Callaghan)
4
17
  * When the Sup gem installs xapian-ruby, it will install to the user gem
5
18
  directory if the system gem directory is not writable. (Iain Parris)
6
19
  * #571: To and From addresses of enclosed messages are now displayed normally,
@@ -8,15 +21,15 @@
8
21
  * #570: Fixed wording when displaying enclosed messages without Date header.
9
22
  (Iain Parris)
10
23
  * #205, #602: UTF-8 header values are now accepted and handled correctly, as
11
- per RFC6532.
24
+ per RFC6532. (Dan Callaghan)
12
25
  * #585: Text/plain attachments with invalid charset are now displayed as
13
- US-ASCII (with high bytes replaced) instead of crashing.
26
+ US-ASCII (with high bytes replaced) instead of crashing. (Dan Callaghan)
14
27
  * #424: Spaces are now accepted in RFC2047-encoded header words, even though
15
28
  the RFC forbids them. (Dan Callaghan)
16
29
  * Invalid RFC2047-encoded header words are now displayed in their raw form,
17
30
  rather than trying to forcibly transcode them to UTF-8, as per the RFC's
18
31
  recommendation. (Dan Callaghan)
19
- * Sup now decodes UTF-7 correctly instead of crashing.
32
+ * Sup now decodes UTF-7 correctly instead of crashing. (Dan Callaghan)
20
33
 
21
34
  == 1.0 / 2020-07-12
22
35
 
data/Manifest.txt CHANGED
@@ -23,6 +23,26 @@ bin/sup-tweak-labels
23
23
  contrib/colorpicker.rb
24
24
  contrib/completion/_sup.bash
25
25
  contrib/completion/_sup.zsh
26
+ contrib/nix/Gemfile
27
+ contrib/nix/Gemfile.lock
28
+ contrib/nix/README
29
+ contrib/nix/gem-install-shell.nix
30
+ contrib/nix/gemset.nix
31
+ contrib/nix/ruby2.4-Gemfile.lock
32
+ contrib/nix/ruby2.4-gemset.nix
33
+ contrib/nix/ruby2.4-shell.nix
34
+ contrib/nix/ruby2.5-Gemfile.lock
35
+ contrib/nix/ruby2.5-gemset.nix
36
+ contrib/nix/ruby2.5-shell.nix
37
+ contrib/nix/ruby2.6-Gemfile.lock
38
+ contrib/nix/ruby2.6-gemset.nix
39
+ contrib/nix/ruby2.6-shell.nix
40
+ contrib/nix/ruby2.7-shell.nix
41
+ contrib/nix/ruby3.0-shell.nix
42
+ contrib/nix/ruby3.1-shell.nix
43
+ contrib/nix/ruby3.2-shell.nix
44
+ contrib/nix/ruby3.3-shell.nix
45
+ contrib/nix/test-all-rubies.sh
26
46
  devel/console.sh
27
47
  devel/count-loc.sh
28
48
  devel/load-index.rb
@@ -100,6 +120,7 @@ lib/sup/util/path.rb
100
120
  lib/sup/util/query.rb
101
121
  lib/sup/util/uri.rb
102
122
  lib/sup/version.rb
123
+ shell.nix
103
124
  sup.gemspec
104
125
  test/dummy_source.rb
105
126
  test/fixtures/bad-content-transfer-encoding-1.eml
@@ -133,6 +154,7 @@ test/gnupg_test_home/sup-test-2@foo.bar.asc
133
154
  test/integration/test_maildir.rb
134
155
  test/integration/test_mbox.rb
135
156
  test/integration/test_sup-add.rb
157
+ test/integration/test_sup-sync-back-maildir.rb
136
158
  test/test_crypto.rb
137
159
  test/test_header_parsing.rb
138
160
  test/test_helper.rb
data/README.md CHANGED
@@ -38,7 +38,6 @@ Please report bugs to the [GitHub issue tracker](https://github.com/sup-heliotro
38
38
  * [Homepage](https://sup-heliotrope.github.io/)
39
39
  * [Code repository](https://github.com/sup-heliotrope/sup)
40
40
  * [Wiki](https://github.com/sup-heliotrope/sup/wiki)
41
- * IRC: [#sup @ freenode.net](http://webchat.freenode.net/?channels=#sup)
42
41
  * Mailing list: supmua@googlegroups.com (subscribe: supmua+subscribe@googlegroups.com, archive: https://groups.google.com/d/forum/supmua )
43
42
 
44
43
  ## Maintenance status
@@ -94,7 +94,7 @@ begin
94
94
  next if STDIN.gets.chomp.downcase == 'n'
95
95
  end
96
96
 
97
- infos = Enumerator.new(index, :each_source_info, s.id).to_a
97
+ infos = index.enum_for(:each_source_info, s.id).to_a
98
98
  counter = 0
99
99
  infos.each do |info|
100
100
  print "\rSynchronizing '#{s.uri}'... #{((counter += 1)/infos.size.to_f*100).to_i}%"
@@ -0,0 +1,22 @@
1
+ source "https://rubygems.org/"
2
+
3
+ gem "xapian-ruby", "~> 1.2"
4
+ gem "ncursesw", "~> 1.4.0"
5
+ gem "rmail", ">= 1.1.2", "< 2"
6
+ gem "highline"
7
+ gem "optimist"
8
+ gem "lockfile"
9
+ gem "mime-types", "> 2.0"
10
+ gem "locale", "~> 2.0"
11
+ gem "chronic"
12
+ gem "unicode", "~> 0.4.4"
13
+ gem "unicode-display_width"
14
+ gem "string-scrub" if /^2\.0\./ =~ RUBY_VERSION
15
+
16
+ gem "bundler", ">= 1.3", "< 3"
17
+ gem "rake"
18
+ gem "minitest", "~> 5.5"
19
+ gem "rr", "~> 1.1"
20
+ gem "gpgme", ">= 2.0.2"
21
+ gem "pry"
22
+ gem "rubocop-packaging" unless /^2\.[012]\./ =~ RUBY_VERSION
@@ -0,0 +1,80 @@
1
+ GEM
2
+ remote: https://rubygems.org/
3
+ specs:
4
+ ast (2.4.2)
5
+ chronic (0.10.2)
6
+ coderay (1.1.3)
7
+ gpgme (2.0.24)
8
+ mini_portile2 (~> 2.7)
9
+ highline (3.0.1)
10
+ json (2.7.2)
11
+ language_server-protocol (3.17.0.3)
12
+ locale (2.1.4)
13
+ lockfile (2.1.3)
14
+ method_source (1.1.0)
15
+ mime-types (3.5.2)
16
+ mime-types-data (~> 3.2015)
17
+ mime-types-data (3.2024.0305)
18
+ mini_portile2 (2.8.6)
19
+ minitest (5.22.3)
20
+ ncursesw (1.4.11)
21
+ optimist (3.1.0)
22
+ parallel (1.24.0)
23
+ parser (3.3.0.5)
24
+ ast (~> 2.4.1)
25
+ racc
26
+ pry (0.14.2)
27
+ coderay (~> 1.1)
28
+ method_source (~> 1.0)
29
+ racc (1.7.3)
30
+ rainbow (3.1.1)
31
+ rake (13.2.1)
32
+ regexp_parser (2.9.0)
33
+ rexml (3.2.6)
34
+ rmail (1.1.4)
35
+ rr (1.2.1)
36
+ rubocop (1.63.2)
37
+ json (~> 2.3)
38
+ language_server-protocol (>= 3.17.0)
39
+ parallel (~> 1.10)
40
+ parser (>= 3.3.0.2)
41
+ rainbow (>= 2.2.2, < 4.0)
42
+ regexp_parser (>= 1.8, < 3.0)
43
+ rexml (>= 3.2.5, < 4.0)
44
+ rubocop-ast (>= 1.31.1, < 2.0)
45
+ ruby-progressbar (~> 1.7)
46
+ unicode-display_width (>= 2.4.0, < 3.0)
47
+ rubocop-ast (1.31.2)
48
+ parser (>= 3.3.0.4)
49
+ rubocop-packaging (0.5.2)
50
+ rubocop (>= 1.33, < 2.0)
51
+ ruby-progressbar (1.13.0)
52
+ unicode (0.4.4.4)
53
+ unicode-display_width (2.5.0)
54
+ xapian-ruby (1.4.22)
55
+
56
+ PLATFORMS
57
+ aarch64-linux
58
+
59
+ DEPENDENCIES
60
+ bundler (>= 1.3, < 3)
61
+ chronic
62
+ gpgme (>= 2.0.2)
63
+ highline
64
+ locale (~> 2.0)
65
+ lockfile
66
+ mime-types (> 2.0)
67
+ minitest (~> 5.5)
68
+ ncursesw (~> 1.4.0)
69
+ optimist
70
+ pry
71
+ rake
72
+ rmail (>= 1.1.2, < 2)
73
+ rr (~> 1.1)
74
+ rubocop-packaging
75
+ unicode (~> 0.4.4)
76
+ unicode-display_width
77
+ xapian-ruby (~> 1.2)
78
+
79
+ BUNDLED WITH
80
+ 2.4.22
@@ -0,0 +1,7 @@
1
+ After updating Gemfile, regenerate Gemfile.lock and gemset.nix:
2
+
3
+ nix-shell -p bundix --run 'bundix --gemfile=contrib/nix/Gemfile --lockfile=contrib/nix/Gemfile.lock --gemset=contrib/nix/gemset.nix -l'
4
+
5
+ Test gem installation:
6
+
7
+ nix-shell contrib/nix/gem-install-shell.nix --run 'gem install --verbose -i ./asdf ./pkg/sup-999.gem'
@@ -0,0 +1,12 @@
1
+ { pkgs ? import <nixpkgs> {} }:
2
+ pkgs.mkShell {
3
+ packages = with pkgs; [
4
+ ncurses
5
+ ncurses.dev
6
+ libuuid
7
+ libuuid.dev
8
+ ruby_3_2
9
+ zlib
10
+ zlib.dev
11
+ ];
12
+ }
@@ -0,0 +1,339 @@
1
+ {
2
+ ast = {
3
+ groups = ["default"];
4
+ platforms = [];
5
+ source = {
6
+ remotes = ["https://rubygems.org"];
7
+ sha256 = "04nc8x27hlzlrr5c2gn7mar4vdr0apw5xg22wp6m8dx3wqr04a0y";
8
+ type = "gem";
9
+ };
10
+ version = "2.4.2";
11
+ };
12
+ chronic = {
13
+ groups = ["default"];
14
+ platforms = [];
15
+ source = {
16
+ remotes = ["https://rubygems.org"];
17
+ sha256 = "1hrdkn4g8x7dlzxwb1rfgr8kw3bp4ywg5l4y4i9c2g5cwv62yvvn";
18
+ type = "gem";
19
+ };
20
+ version = "0.10.2";
21
+ };
22
+ coderay = {
23
+ groups = ["default"];
24
+ platforms = [];
25
+ source = {
26
+ remotes = ["https://rubygems.org"];
27
+ sha256 = "0jvxqxzply1lwp7ysn94zjhh57vc14mcshw1ygw14ib8lhc00lyw";
28
+ type = "gem";
29
+ };
30
+ version = "1.1.3";
31
+ };
32
+ gpgme = {
33
+ dependencies = ["mini_portile2"];
34
+ groups = ["default"];
35
+ platforms = [];
36
+ source = {
37
+ remotes = ["https://rubygems.org"];
38
+ sha256 = "0r1vmql7w7ka5xzj1aqf8pk2a4sv0znwj2zkg1fgvd5b89qcvv2k";
39
+ type = "gem";
40
+ };
41
+ version = "2.0.24";
42
+ };
43
+ highline = {
44
+ groups = ["default"];
45
+ platforms = [];
46
+ source = {
47
+ remotes = ["https://rubygems.org"];
48
+ sha256 = "02ghhvigqbq4252gsi4w8a9klkdkybmbz29ghfp1y6sqzlcb466a";
49
+ type = "gem";
50
+ };
51
+ version = "3.0.1";
52
+ };
53
+ json = {
54
+ groups = ["default"];
55
+ platforms = [];
56
+ source = {
57
+ remotes = ["https://rubygems.org"];
58
+ sha256 = "0b4qsi8gay7ncmigr0pnbxyb17y3h8kavdyhsh7nrlqwr35vb60q";
59
+ type = "gem";
60
+ };
61
+ version = "2.7.2";
62
+ };
63
+ language_server-protocol = {
64
+ groups = ["default"];
65
+ platforms = [];
66
+ source = {
67
+ remotes = ["https://rubygems.org"];
68
+ sha256 = "0gvb1j8xsqxms9mww01rmdl78zkd72zgxaap56bhv8j45z05hp1x";
69
+ type = "gem";
70
+ };
71
+ version = "3.17.0.3";
72
+ };
73
+ locale = {
74
+ groups = ["default"];
75
+ platforms = [];
76
+ source = {
77
+ remotes = ["https://rubygems.org"];
78
+ sha256 = "107pm4ccmla23z963kyjldgngfigvchnv85wr6m69viyxxrrjbsj";
79
+ type = "gem";
80
+ };
81
+ version = "2.1.4";
82
+ };
83
+ lockfile = {
84
+ groups = ["default"];
85
+ platforms = [];
86
+ source = {
87
+ remotes = ["https://rubygems.org"];
88
+ sha256 = "0dij3ijywylvfgrpi2i0k17f6w0wjhnjjw0k9030f54z56cz7jrr";
89
+ type = "gem";
90
+ };
91
+ version = "2.1.3";
92
+ };
93
+ method_source = {
94
+ groups = ["default"];
95
+ platforms = [];
96
+ source = {
97
+ remotes = ["https://rubygems.org"];
98
+ sha256 = "1igmc3sq9ay90f8xjvfnswd1dybj1s3fi0dwd53inwsvqk4h24qq";
99
+ type = "gem";
100
+ };
101
+ version = "1.1.0";
102
+ };
103
+ mime-types = {
104
+ dependencies = ["mime-types-data"];
105
+ groups = ["default"];
106
+ platforms = [];
107
+ source = {
108
+ remotes = ["https://rubygems.org"];
109
+ sha256 = "1r64z0m5zrn4k37wabfnv43wa6yivgdfk6cf2rpmmirlz889yaf1";
110
+ type = "gem";
111
+ };
112
+ version = "3.5.2";
113
+ };
114
+ mime-types-data = {
115
+ groups = ["default"];
116
+ platforms = [];
117
+ source = {
118
+ remotes = ["https://rubygems.org"];
119
+ sha256 = "00x7w5xqsj9m33v3vkmy23wipkkysafksib53ypzn27p5g81w455";
120
+ type = "gem";
121
+ };
122
+ version = "3.2024.0305";
123
+ };
124
+ mini_portile2 = {
125
+ groups = ["default"];
126
+ platforms = [];
127
+ source = {
128
+ remotes = ["https://rubygems.org"];
129
+ sha256 = "149r94xi6b3jbp6bv72f8383b95ndn0p5sxnq11gs1j9jadv0ajf";
130
+ type = "gem";
131
+ };
132
+ version = "2.8.6";
133
+ };
134
+ minitest = {
135
+ groups = ["default"];
136
+ platforms = [];
137
+ source = {
138
+ remotes = ["https://rubygems.org"];
139
+ sha256 = "07lq26b86giy3ha3fhrywk9r1ajhc2pm2mzj657jnpnbj1i6g17a";
140
+ type = "gem";
141
+ };
142
+ version = "5.22.3";
143
+ };
144
+ ncursesw = {
145
+ groups = ["default"];
146
+ platforms = [];
147
+ source = {
148
+ remotes = ["https://rubygems.org"];
149
+ sha256 = "0qlfhp9b445g0qp9kkdiylfjlpfzrv6nqvry4ar6y0yacn0zr5y8";
150
+ type = "gem";
151
+ };
152
+ version = "1.4.11";
153
+ };
154
+ optimist = {
155
+ groups = ["default"];
156
+ platforms = [];
157
+ source = {
158
+ remotes = ["https://rubygems.org"];
159
+ sha256 = "0q4jqq3v1bxlfr9jgqmahnygkvl81lr6s1rhm8qg66c9xr9nz241";
160
+ type = "gem";
161
+ };
162
+ version = "3.1.0";
163
+ };
164
+ parallel = {
165
+ groups = ["default"];
166
+ platforms = [];
167
+ source = {
168
+ remotes = ["https://rubygems.org"];
169
+ sha256 = "15wkxrg1sj3n1h2g8jcrn7gcapwcgxr659ypjf75z1ipkgxqxwsv";
170
+ type = "gem";
171
+ };
172
+ version = "1.24.0";
173
+ };
174
+ parser = {
175
+ dependencies = ["ast" "racc"];
176
+ groups = ["default"];
177
+ platforms = [];
178
+ source = {
179
+ remotes = ["https://rubygems.org"];
180
+ sha256 = "11r6kp8wam0nkfvnwyc1fmvky102r1vcfr84vi2p1a2wa0z32j3p";
181
+ type = "gem";
182
+ };
183
+ version = "3.3.0.5";
184
+ };
185
+ pry = {
186
+ dependencies = ["coderay" "method_source"];
187
+ groups = ["default"];
188
+ platforms = [];
189
+ source = {
190
+ remotes = ["https://rubygems.org"];
191
+ sha256 = "0k9kqkd9nps1w1r1rb7wjr31hqzkka2bhi8b518x78dcxppm9zn4";
192
+ type = "gem";
193
+ };
194
+ version = "0.14.2";
195
+ };
196
+ racc = {
197
+ groups = ["default"];
198
+ platforms = [];
199
+ source = {
200
+ remotes = ["https://rubygems.org"];
201
+ sha256 = "01b9662zd2x9bp4rdjfid07h09zxj7kvn7f5fghbqhzc625ap1dp";
202
+ type = "gem";
203
+ };
204
+ version = "1.7.3";
205
+ };
206
+ rainbow = {
207
+ groups = ["default"];
208
+ platforms = [];
209
+ source = {
210
+ remotes = ["https://rubygems.org"];
211
+ sha256 = "0smwg4mii0fm38pyb5fddbmrdpifwv22zv3d3px2xx497am93503";
212
+ type = "gem";
213
+ };
214
+ version = "3.1.1";
215
+ };
216
+ rake = {
217
+ groups = ["default"];
218
+ platforms = [];
219
+ source = {
220
+ remotes = ["https://rubygems.org"];
221
+ sha256 = "17850wcwkgi30p7yqh60960ypn7yibacjjha0av78zaxwvd3ijs6";
222
+ type = "gem";
223
+ };
224
+ version = "13.2.1";
225
+ };
226
+ regexp_parser = {
227
+ groups = ["default"];
228
+ platforms = [];
229
+ source = {
230
+ remotes = ["https://rubygems.org"];
231
+ sha256 = "1ndxm0xnv27p4gv6xynk6q41irckj76q1jsqpysd9h6f86hhp841";
232
+ type = "gem";
233
+ };
234
+ version = "2.9.0";
235
+ };
236
+ rexml = {
237
+ groups = ["default"];
238
+ platforms = [];
239
+ source = {
240
+ remotes = ["https://rubygems.org"];
241
+ sha256 = "05i8518ay14kjbma550mv0jm8a6di8yp5phzrd8rj44z9qnrlrp0";
242
+ type = "gem";
243
+ };
244
+ version = "3.2.6";
245
+ };
246
+ rmail = {
247
+ groups = ["default"];
248
+ platforms = [];
249
+ source = {
250
+ remotes = ["https://rubygems.org"];
251
+ sha256 = "0m5npkmv764m725wzjzasgf3k8q5anf3vfr6k2cac1xj6jc8lcqi";
252
+ type = "gem";
253
+ };
254
+ version = "1.1.4";
255
+ };
256
+ rr = {
257
+ groups = ["default"];
258
+ platforms = [];
259
+ source = {
260
+ remotes = ["https://rubygems.org"];
261
+ sha256 = "1n9g78ba4c2zzmz8cdb97c38h1xm0clircag00vbcxwqs4dq0ymp";
262
+ type = "gem";
263
+ };
264
+ version = "1.2.1";
265
+ };
266
+ rubocop = {
267
+ dependencies = ["json" "language_server-protocol" "parallel" "parser" "rainbow" "regexp_parser" "rexml" "rubocop-ast" "ruby-progressbar" "unicode-display_width"];
268
+ groups = ["default"];
269
+ platforms = [];
270
+ source = {
271
+ remotes = ["https://rubygems.org"];
272
+ sha256 = "1dmj955zbvhlrzzag6hc77xdyyzn8ihvffpjalnzn5asxhz7jcdl";
273
+ type = "gem";
274
+ };
275
+ version = "1.63.2";
276
+ };
277
+ rubocop-ast = {
278
+ dependencies = ["parser"];
279
+ groups = ["default"];
280
+ platforms = [];
281
+ source = {
282
+ remotes = ["https://rubygems.org"];
283
+ sha256 = "1v3q8n48w8h809rqbgzihkikr4g3xk72m1na7s97jdsmjjq6y83w";
284
+ type = "gem";
285
+ };
286
+ version = "1.31.2";
287
+ };
288
+ rubocop-packaging = {
289
+ dependencies = ["rubocop"];
290
+ groups = ["default"];
291
+ platforms = [];
292
+ source = {
293
+ remotes = ["https://rubygems.org"];
294
+ sha256 = "1iqgsbpj7y8ksddbb9gj5vpzs2y8202khyk2mcc165kkfmvm6rx3";
295
+ type = "gem";
296
+ };
297
+ version = "0.5.2";
298
+ };
299
+ ruby-progressbar = {
300
+ groups = ["default"];
301
+ platforms = [];
302
+ source = {
303
+ remotes = ["https://rubygems.org"];
304
+ sha256 = "0cwvyb7j47m7wihpfaq7rc47zwwx9k4v7iqd9s1xch5nm53rrz40";
305
+ type = "gem";
306
+ };
307
+ version = "1.13.0";
308
+ };
309
+ unicode = {
310
+ groups = ["default"];
311
+ platforms = [];
312
+ source = {
313
+ remotes = ["https://rubygems.org"];
314
+ sha256 = "1v8kxmq9i85agjpl7pnl72688901xhs8wxhmj6lpy16a8xz3nzxk";
315
+ type = "gem";
316
+ };
317
+ version = "0.4.4.4";
318
+ };
319
+ unicode-display_width = {
320
+ groups = ["default"];
321
+ platforms = [];
322
+ source = {
323
+ remotes = ["https://rubygems.org"];
324
+ sha256 = "1d0azx233nags5jx3fqyr23qa2rhgzbhv8pxp46dgbg1mpf82xky";
325
+ type = "gem";
326
+ };
327
+ version = "2.5.0";
328
+ };
329
+ xapian-ruby = {
330
+ groups = ["default"];
331
+ platforms = [];
332
+ source = {
333
+ remotes = ["https://rubygems.org"];
334
+ sha256 = "0xlzgk2sis7nnasiplpg6x7mdvqa17ahq2d27i8fd5hs8dmqcsh2";
335
+ type = "gem";
336
+ };
337
+ version = "1.4.22";
338
+ };
339
+ }