sup 1.2 → 1.4

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 (102) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/checks.yml +19 -4
  3. data/.gitmodules +1 -0
  4. data/.rubocop.yml +1 -1
  5. data/History.txt +33 -0
  6. data/Manifest.txt +21 -2
  7. data/README.md +5 -3
  8. data/Rakefile +1 -1
  9. data/bin/sup +5 -3
  10. data/contrib/nix/Gemfile +2 -0
  11. data/contrib/nix/Gemfile.lock +62 -34
  12. data/contrib/nix/gem-install-shell.nix +2 -0
  13. data/contrib/nix/gemset.nix +130 -56
  14. data/contrib/nix/ruby2.4-Gemfile.lock +6 -2
  15. data/contrib/nix/ruby2.4-gemset.nix +24 -4
  16. data/contrib/nix/ruby2.4-shell.nix +2 -6
  17. data/contrib/nix/ruby2.5-Gemfile.lock +6 -2
  18. data/contrib/nix/ruby2.5-gemset.nix +24 -4
  19. data/contrib/nix/ruby2.5-shell.nix +2 -6
  20. data/contrib/nix/ruby2.6-Gemfile.lock +6 -2
  21. data/contrib/nix/ruby2.6-gemset.nix +24 -4
  22. data/contrib/nix/ruby2.6-shell.nix +2 -6
  23. data/contrib/nix/ruby2.7-Gemfile.lock +91 -0
  24. data/contrib/nix/ruby2.7-gemset.nix +359 -0
  25. data/contrib/nix/ruby2.7-shell.nix +2 -11
  26. data/contrib/nix/ruby3.0-Gemfile.lock +91 -0
  27. data/contrib/nix/ruby3.0-gemset.nix +359 -0
  28. data/contrib/nix/ruby3.0-shell.nix +2 -11
  29. data/contrib/nix/ruby3.1-Gemfile.lock +101 -0
  30. data/contrib/nix/ruby3.1-gemset.nix +391 -0
  31. data/contrib/nix/ruby3.1-shell.nix +3 -12
  32. data/contrib/nix/ruby3.2-Gemfile.lock +101 -0
  33. data/contrib/nix/ruby3.2-gemset.nix +391 -0
  34. data/contrib/nix/ruby3.2-shell.nix +3 -12
  35. data/contrib/nix/ruby3.3-shell.nix +1 -10
  36. data/contrib/nix/ruby3.4-shell.nix +27 -0
  37. data/contrib/nix/ruby4.0-shell.nix +40 -0
  38. data/contrib/nix/test-all-rubies.sh +1 -1
  39. data/lib/sup/account.rb +2 -0
  40. data/lib/sup/buffer.rb +1 -0
  41. data/lib/sup/contact.rb +3 -4
  42. data/lib/sup/crypto.rb +7 -5
  43. data/lib/sup/draft.rb +15 -11
  44. data/lib/sup/index.rb +8 -4
  45. data/lib/sup/maildir.rb +4 -0
  46. data/lib/sup/mbox.rb +25 -7
  47. data/lib/sup/message.rb +13 -10
  48. data/lib/sup/message_chunks.rb +0 -24
  49. data/lib/sup/mode.rb +1 -0
  50. data/lib/sup/modes/contact_list_mode.rb +0 -1
  51. data/lib/sup/modes/edit_message_mode.rb +6 -6
  52. data/lib/sup/modes/label_search_results_mode.rb +1 -2
  53. data/lib/sup/modes/line_cursor_mode.rb +22 -20
  54. data/lib/sup/modes/search_results_mode.rb +0 -1
  55. data/lib/sup/modes/thread_view_mode.rb +1 -2
  56. data/lib/sup/rfc2047.rb +5 -2
  57. data/lib/sup/source.rb +2 -0
  58. data/lib/sup/util.rb +9 -2
  59. data/lib/sup/version.rb +1 -1
  60. data/lib/sup.rb +1 -1
  61. data/man/sup-add.1 +18 -18
  62. data/man/sup-config.1 +12 -12
  63. data/man/sup-dump.1 +15 -14
  64. data/man/sup-import-dump.1 +24 -24
  65. data/man/sup-psych-ify-config-files.1 +11 -11
  66. data/man/sup-recover-sources.1 +20 -20
  67. data/man/sup-sync-back-maildir.1 +24 -23
  68. data/man/sup-sync.1 +35 -35
  69. data/man/sup-tweak-labels.1 +27 -26
  70. data/man/sup.1 +27 -27
  71. data/sup.gemspec +3 -1
  72. data/test/dummy_buffer.rb +34 -0
  73. data/test/dummy_source.rb +6 -0
  74. data/test/fixtures/contacts.txt +2 -1
  75. data/test/fixtures/embedded-message-rfc6532.eml +33 -0
  76. data/test/fixtures/invalid-date.eml +8 -0
  77. data/test/fixtures/rfc2047-header-encoding.eml +1 -1
  78. data/test/gnupg_test_home/private-keys-v1.d/26C05E44706A8E230B3255BB9532B34DC9420232.key +42 -0
  79. data/test/gnupg_test_home/private-keys-v1.d/D187ADC90EC4DEB7047678EAA37E33A53A465D47.key +5 -0
  80. data/test/gnupg_test_home/private-keys-v1.d/FB2D9BD3B1BE90B5BCF697781F8404224B0FCF5B.key +5 -0
  81. data/test/gnupg_test_home/pubring.gpg +0 -0
  82. data/test/gnupg_test_home/receiver_pubring.gpg +0 -0
  83. data/test/gnupg_test_home/receiver_secring.gpg +0 -0
  84. data/test/gnupg_test_home/regen_keys.sh +11 -2
  85. data/test/gnupg_test_home/secring.gpg +0 -0
  86. data/test/gnupg_test_home/sup-test-2@foo.bar.asc +20 -20
  87. data/test/integration/test_draft.rb +128 -0
  88. data/test/integration/test_maildir.rb +17 -1
  89. data/test/integration/test_mbox.rb +12 -0
  90. data/test/integration/test_sup-add.rb +4 -0
  91. data/test/test_crypto.rb +114 -72
  92. data/test/test_message.rb +43 -0
  93. data/test/unit/test_contact.rb +16 -4
  94. data/test/unit/test_edit_message_mode.rb +99 -0
  95. data/test/unit/test_index.rb +65 -0
  96. data/test/unit/test_line_cursor_mode.rb +208 -0
  97. data/test/unit/test_person.rb +3 -3
  98. data/test/unit/test_rmail_message.rb +36 -0
  99. data/test/unit/util/test_string.rb +3 -3
  100. metadata +64 -9
  101. data/shell.nix +0 -1
  102. data/test/gnupg_test_home/private-keys-v1.d/306D2EE90FF0014B5B9FD07E265C751791674140.key +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9b3d74175eddced998ccf3d918989ba1f90781bb0f2432df5cc11ae2cf3a5ba9
4
- data.tar.gz: f415405432adaa8fcfa9a10640107da0cce2575afee758902b934b137e1077e3
3
+ metadata.gz: '09751b9afafb4e88646de270d85e983cd91cd9ffb7259afce7ae4bca8c94cc5b'
4
+ data.tar.gz: 3aaf78540a2d33f168f13eba8b4d7afb9787efa5e2d27911c851ead6a178ad43
5
5
  SHA512:
6
- metadata.gz: 1e3f012755517d29e9c2c0f5df80eac0432390bcbdd3108e32f921794aeafb2e791e9e6ff64b0663d1c1495b0040ebb1bbe8c006113380b787715ba85edf34dd
7
- data.tar.gz: bc829f5939d98acd30f8c241b4f4defd3d6e8c09bde0a39802e28a5a2ecb78a15d7d7e4f25aa7456e0ddd6e20d01453d0715d8947942c74808c65037720fb25b
6
+ metadata.gz: a4f829939a5a06de18c48bd2ba0d860b918fd1bbf7069876518c415093a2bb22047dd06f6177d1a67ceed66ea5a280e52bd9a43a7a54cac65793cd9069569919
7
+ data.tar.gz: 78bf43e7e413314a7e6d89a4b71a15c6940687f4fbee003d5ef82a8b2dd35ae314fe534f7ea589deb24323928b330e8b5eabac7b61e863f16de15d8cd1b36258
@@ -15,7 +15,7 @@ jobs:
15
15
  matrix:
16
16
  os:
17
17
  - ubuntu-latest
18
- - macos-latest
18
+ - macos-15
19
19
  ruby-version:
20
20
  - '2.4'
21
21
  - '2.5'
@@ -25,16 +25,31 @@ jobs:
25
25
  - '3.1'
26
26
  - '3.2'
27
27
  - '3.3'
28
+ - '3.4'
29
+ - '4.0'
30
+ exclude:
31
+ # We use xapian-bindings 1.4.22 for Ruby < 3.1, but it does not link on MacOS 14:
32
+ # https://github.com/Garaio-REM/xapian-ruby/issues/10
33
+ - os: macos-15
34
+ ruby-version: '2.4'
35
+ - os: macos-15
36
+ ruby-version: '2.5'
37
+ - os: macos-15
38
+ ruby-version: '2.6'
39
+ - os: macos-15
40
+ ruby-version: '2.7'
41
+ - os: macos-15
42
+ ruby-version: '3.0'
28
43
  runs-on: ${{ matrix.os }}
29
44
  env:
30
45
  nixfile: "contrib/nix/ruby${{ matrix.ruby-version }}-shell.nix"
31
46
  steps:
32
47
  - name: Check out source
33
- uses: actions/checkout@v3
48
+ uses: actions/checkout@v5
34
49
  with:
35
50
  submodules: recursive
36
51
  - name: Cache nix store
37
- uses: actions/cache@v3
52
+ uses: actions/cache@v5
38
53
  id: nix-cache
39
54
  with:
40
55
  path: /tmp/nixcache
@@ -46,7 +61,7 @@ jobs:
46
61
  run: brew install bash
47
62
  if: runner.os == 'macOS'
48
63
  - name: Install nix
49
- uses: nixbuild/nix-quick-install-action@v21
64
+ uses: nixbuild/nix-quick-install-action@v34
50
65
  - name: Import nix cache
51
66
  run: |
52
67
  if [ -f /tmp/nixcache ] ; then
data/.gitmodules CHANGED
@@ -1,3 +1,4 @@
1
1
  [submodule "doc/wiki"]
2
2
  path = doc/wiki
3
3
  url = https://github.com/sup-heliotrope/sup.wiki.git
4
+ branch = master
data/.rubocop.yml CHANGED
@@ -1,4 +1,4 @@
1
- require:
1
+ plugins:
2
2
  - rubocop-packaging
3
3
 
4
4
  AllCops:
data/History.txt CHANGED
@@ -1,3 +1,36 @@
1
+ == 1.4 / 2026-04-21
2
+
3
+ * #343: Draft messages containing non-ASCII characters are now displayed
4
+ correctly in thread view.
5
+ * #533, #524: Sup now refuses to start if config.yaml is missing a default
6
+ account, or no sendmail command is configured.
7
+ * Improved the lazy-loading behaviour when scrolling down in thread list views.
8
+ * Sup now gracefully handles RFC2047-encoded words which contain incomplete
9
+ UTF-8 sequences after decoding, instead of crashing with ArgumentError.
10
+ * #516: Sup can now load sources.yaml produced by very old versions of Sup,
11
+ which left a syntactically invalid YAML tag for the SentLoader class.
12
+ * Fixed error handling behaviour for various scenarios where a draft message is
13
+ modified outside Sup.
14
+ * Sup no longer uses deprecated Xapian APIs, for compatibility with Xapian 2.0.
15
+ * Sup is now tested on Ruby 4.0.
16
+ * Sup's web site and git repos have moved to: https://supmua.dev/
17
+
18
+ == 1.3 / 2025-04-21
19
+
20
+ * #596: If a message lacks a Date header, or the Date header is not in valid
21
+ RFC2822 format, the local delivery timestamp of the message will now be used
22
+ instead. Fixes a bug where such messages would constantly jump to the top of
23
+ the thread list.
24
+ * #502: Fixed incorrect Content-Transfer-Encoding headers when sending GPG
25
+ signed or encrypted messages with attachments.
26
+ * #522: Sup now uses the configured signing key when sending a message that is
27
+ both signed and encrypted. Previously it would ignore the configured key and
28
+ use the GPG default signing key.
29
+ * #489: Attachments are now encoded if they have lines longer than 998
30
+ characters.
31
+ * #602: The message/global MIME type is now recognised as an embedded message.
32
+ * Sup is now tested on Ruby 3.4.
33
+
1
34
  == 1.2 / 2024-04-21
2
35
 
3
36
  * #619: Sup is now compatible with and tested on Ruby 3.2 and Ruby 3.3.
data/Manifest.txt CHANGED
@@ -37,11 +37,21 @@ contrib/nix/ruby2.5-shell.nix
37
37
  contrib/nix/ruby2.6-Gemfile.lock
38
38
  contrib/nix/ruby2.6-gemset.nix
39
39
  contrib/nix/ruby2.6-shell.nix
40
+ contrib/nix/ruby2.7-Gemfile.lock
41
+ contrib/nix/ruby2.7-gemset.nix
40
42
  contrib/nix/ruby2.7-shell.nix
43
+ contrib/nix/ruby3.0-Gemfile.lock
44
+ contrib/nix/ruby3.0-gemset.nix
41
45
  contrib/nix/ruby3.0-shell.nix
46
+ contrib/nix/ruby3.1-Gemfile.lock
47
+ contrib/nix/ruby3.1-gemset.nix
42
48
  contrib/nix/ruby3.1-shell.nix
49
+ contrib/nix/ruby3.2-Gemfile.lock
50
+ contrib/nix/ruby3.2-gemset.nix
43
51
  contrib/nix/ruby3.2-shell.nix
44
52
  contrib/nix/ruby3.3-shell.nix
53
+ contrib/nix/ruby3.4-shell.nix
54
+ contrib/nix/ruby4.0-shell.nix
45
55
  contrib/nix/test-all-rubies.sh
46
56
  devel/console.sh
47
57
  devel/count-loc.sh
@@ -120,14 +130,16 @@ lib/sup/util/path.rb
120
130
  lib/sup/util/query.rb
121
131
  lib/sup/util/uri.rb
122
132
  lib/sup/version.rb
123
- shell.nix
124
133
  sup.gemspec
134
+ test/dummy_buffer.rb
125
135
  test/dummy_source.rb
126
136
  test/fixtures/bad-content-transfer-encoding-1.eml
127
137
  test/fixtures/binary-content-transfer-encoding-2.eml
128
138
  test/fixtures/blank-header-fields.eml
129
139
  test/fixtures/contacts.txt
140
+ test/fixtures/embedded-message-rfc6532.eml
130
141
  test/fixtures/embedded-message.eml
142
+ test/fixtures/invalid-date.eml
131
143
  test/fixtures/mailing-list-header.eml
132
144
  test/fixtures/malicious-attachment-names.eml
133
145
  test/fixtures/missing-from-to.eml
@@ -144,13 +156,16 @@ test/fixtures/utf8-header.eml
144
156
  test/fixtures/zimbra-quote-with-bottom-post.eml
145
157
  test/gnupg_test_home/.gpg-v21-migrated
146
158
  test/gnupg_test_home/gpg.conf
147
- test/gnupg_test_home/private-keys-v1.d/306D2EE90FF0014B5B9FD07E265C751791674140.key
159
+ test/gnupg_test_home/private-keys-v1.d/26C05E44706A8E230B3255BB9532B34DC9420232.key
160
+ test/gnupg_test_home/private-keys-v1.d/D187ADC90EC4DEB7047678EAA37E33A53A465D47.key
161
+ test/gnupg_test_home/private-keys-v1.d/FB2D9BD3B1BE90B5BCF697781F8404224B0FCF5B.key
148
162
  test/gnupg_test_home/pubring.gpg
149
163
  test/gnupg_test_home/receiver_pubring.gpg
150
164
  test/gnupg_test_home/receiver_secring.gpg
151
165
  test/gnupg_test_home/regen_keys.sh
152
166
  test/gnupg_test_home/secring.gpg
153
167
  test/gnupg_test_home/sup-test-2@foo.bar.asc
168
+ test/integration/test_draft.rb
154
169
  test/integration/test_maildir.rb
155
170
  test/integration/test_mbox.rb
156
171
  test/integration/test_sup-add.rb
@@ -163,9 +178,13 @@ test/test_messages_dir.rb
163
178
  test/test_yaml_regressions.rb
164
179
  test/unit/service/test_label_service.rb
165
180
  test/unit/test_contact.rb
181
+ test/unit/test_edit_message_mode.rb
166
182
  test/unit/test_horizontal_selector.rb
183
+ test/unit/test_index.rb
184
+ test/unit/test_line_cursor_mode.rb
167
185
  test/unit/test_locale_fiddler.rb
168
186
  test/unit/test_person.rb
187
+ test/unit/test_rmail_message.rb
169
188
  test/unit/util/test_query.rb
170
189
  test/unit/util/test_string.rb
171
190
  test/unit/util/test_uri.rb
data/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Sup is a console-based email client for people with a lot of email.
4
4
 
5
- <img src="https://sup-heliotrope.github.io/images/old_screenshot_1.png" />
5
+ <img src="https://supmua.dev/images/old_screenshot_1.png" />
6
6
 
7
7
  ## Installation
8
8
 
@@ -35,10 +35,12 @@ Please report bugs to the [GitHub issue tracker](https://github.com/sup-heliotro
35
35
 
36
36
  ## Links
37
37
 
38
- * [Homepage](https://sup-heliotrope.github.io/)
38
+ * [Homepage](https://supmua.dev/)
39
39
  * [Code repository](https://github.com/sup-heliotrope/sup)
40
40
  * [Wiki](https://github.com/sup-heliotrope/sup/wiki)
41
- * Mailing list: supmua@googlegroups.com (subscribe: supmua+subscribe@googlegroups.com, archive: https://groups.google.com/d/forum/supmua )
41
+ * Mailing list: supmua@googlegroups.com
42
+ (subscribe: supmua+subscribe@googlegroups.com,
43
+ [archives](https://supmua.dev/lists/supmua/))
42
44
 
43
45
  ## Maintenance status
44
46
 
data/Rakefile CHANGED
@@ -79,7 +79,7 @@ task :check_manifest do
79
79
  end
80
80
 
81
81
  task :rubocop_packaging do
82
- if /^2\.[012]\./ =~ RUBY_VERSION
82
+ if /^(2\.|3\.[012]\.)/ =~ RUBY_VERSION
83
83
  puts "skipping rubocop-packaging checks on unsupported Ruby #{RUBY_VERSION}"
84
84
  next
85
85
  end
data/bin/sup CHANGED
@@ -206,7 +206,10 @@ begin
206
206
  end
207
207
  end unless $opts[:no_initial_poll]
208
208
 
209
- imode.load_threads :num => ibuf.content_height, :when_done => lambda { |num| reporting_thread("poll after loading inbox") { sleep 1; PollManager.poll } unless $opts[:no_threads] || $opts[:no_initial_poll] }
209
+ reporting_thread("poll after loading inbox") do
210
+ sleep 1
211
+ PollManager.poll
212
+ end unless $opts[:no_threads] || $opts[:no_initial_poll]
210
213
 
211
214
  if $opts[:compose]
212
215
  to = Person.from_address_list $opts[:compose]
@@ -328,8 +331,7 @@ begin
328
331
  BufferManager.spawn "Edit message", r
329
332
  r.default_edit_message
330
333
  else
331
- b, new = BufferManager.spawn_unless_exists("All drafts") { LabelSearchResultsMode.new [:draft] }
332
- b.mode.load_threads :num => b.content_height if new
334
+ BufferManager.spawn_unless_exists("All drafts") { LabelSearchResultsMode.new [:draft] }
333
335
  end
334
336
  when :show_inbox
335
337
  BufferManager.raise_to_front ibuf
data/contrib/nix/Gemfile CHANGED
@@ -12,6 +12,8 @@ gem "chronic"
12
12
  gem "unicode", "~> 0.4.4"
13
13
  gem "unicode-display_width"
14
14
  gem "string-scrub" if /^2\.0\./ =~ RUBY_VERSION
15
+ gem "benchmark"
16
+ gem "fiddle"
15
17
 
16
18
  gem "bundler", ">= 1.3", "< 3"
17
19
  gem "rake"
@@ -1,64 +1,92 @@
1
1
  GEM
2
2
  remote: https://rubygems.org/
3
3
  specs:
4
- ast (2.4.2)
4
+ ast (2.4.3)
5
+ benchmark (0.5.0)
5
6
  chronic (0.10.2)
6
7
  coderay (1.1.3)
7
- gpgme (2.0.24)
8
+ fiddle (1.1.8)
9
+ gpgme (2.0.26)
8
10
  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)
11
+ highline (3.1.2)
12
+ reline
13
+ io-console (0.8.2)
14
+ json (2.19.3)
15
+ language_server-protocol (3.17.0.5)
16
+ lint_roller (1.1.0)
17
+ locale (2.1.5)
18
+ fiddle
13
19
  lockfile (2.1.3)
20
+ logger (1.7.0)
14
21
  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)
22
+ mime-types (3.7.0)
23
+ logger
24
+ mime-types-data (~> 3.2025, >= 3.2025.0507)
25
+ mime-types-data (3.2026.0331)
26
+ mini_portile2 (2.8.9)
27
+ minitest (5.27.0)
28
+ ncursesw (1.4.13)
29
+ optimist (3.2.1)
30
+ parallel (1.28.0)
31
+ parser (3.3.11.1)
24
32
  ast (~> 2.4.1)
25
33
  racc
26
- pry (0.14.2)
34
+ prism (1.9.0)
35
+ pry (0.16.0)
27
36
  coderay (~> 1.1)
28
37
  method_source (~> 1.0)
29
- racc (1.7.3)
38
+ reline (>= 0.6.0)
39
+ racc (1.8.1)
30
40
  rainbow (3.1.1)
31
- rake (13.2.1)
32
- regexp_parser (2.9.0)
33
- rexml (3.2.6)
41
+ rake (13.3.1)
42
+ regexp_parser (2.12.0)
43
+ reline (0.6.3)
44
+ io-console (~> 0.5)
34
45
  rmail (1.1.4)
35
46
  rr (1.2.1)
36
- rubocop (1.63.2)
47
+ rubocop (1.86.0)
37
48
  json (~> 2.3)
38
- language_server-protocol (>= 3.17.0)
49
+ language_server-protocol (~> 3.17.0.2)
50
+ lint_roller (~> 1.1.0)
39
51
  parallel (~> 1.10)
40
52
  parser (>= 3.3.0.2)
41
53
  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)
54
+ regexp_parser (>= 2.9.3, < 3.0)
55
+ rubocop-ast (>= 1.49.0, < 2.0)
45
56
  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)
57
+ unicode-display_width (>= 2.4.0, < 4.0)
58
+ rubocop-ast (1.49.1)
59
+ parser (>= 3.3.7.2)
60
+ prism (~> 1.7)
61
+ rubocop-packaging (0.6.0)
62
+ lint_roller (~> 1.1.0)
63
+ rubocop (>= 1.72.1, < 2.0)
51
64
  ruby-progressbar (1.13.0)
52
- unicode (0.4.4.4)
53
- unicode-display_width (2.5.0)
54
- xapian-ruby (1.4.22)
65
+ unicode (0.4.4.5)
66
+ unicode-display_width (3.2.0)
67
+ unicode-emoji (~> 4.1)
68
+ unicode-emoji (4.2.0)
69
+ xapian-ruby (1.4.27)
55
70
 
56
71
  PLATFORMS
57
72
  aarch64-linux
73
+ arm64-darwin-24
74
+ ruby
75
+ x86_64-darwin-17
76
+ x86_64-darwin-18
77
+ x86_64-darwin-19
78
+ x86_64-darwin-20
79
+ x86_64-darwin-21
80
+ x86_64-darwin-22
81
+ x86_64-darwin-23
82
+ x86_64-darwin-24
83
+ x86_64-linux
58
84
 
59
85
  DEPENDENCIES
86
+ benchmark
60
87
  bundler (>= 1.3, < 3)
61
88
  chronic
89
+ fiddle
62
90
  gpgme (>= 2.0.2)
63
91
  highline
64
92
  locale (~> 2.0)
@@ -77,4 +105,4 @@ DEPENDENCIES
77
105
  xapian-ruby (~> 1.2)
78
106
 
79
107
  BUNDLED WITH
80
- 2.4.22
108
+ 2.7.2
@@ -3,6 +3,8 @@ pkgs.mkShell {
3
3
  packages = with pkgs; [
4
4
  ncurses
5
5
  ncurses.dev
6
+ libffi
7
+ libffi.dev
6
8
  libuuid
7
9
  libuuid.dev
8
10
  ruby_3_2