omnizip 0.4.9-arm-linux → 0.4.11-arm-linux

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 (94) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop-oss.yml +814 -0
  3. data/.rubocop.yml +15 -1
  4. data/.rubocop_todo.yml +7 -1
  5. data/CHANGELOG.md +17 -0
  6. data/Gemfile +23 -1
  7. data/README.adoc +101 -1282
  8. data/docs/compatibility.adoc +1 -2
  9. data/docs/lychee.toml +1 -7
  10. data/lib/omnizip/algorithms/deflate/constants.rb +5 -3
  11. data/lib/omnizip/implementations/rust/archive.rb +9 -41
  12. data/lib/omnizip/implementations/rust/ffi_library.rb +127 -0
  13. data/lib/omnizip/implementations/rust/fiddle_library.rb +144 -0
  14. data/lib/omnizip/implementations/rust/library.rb +39 -104
  15. data/lib/omnizip/implementations/rust.rb +2 -0
  16. data/lib/omnizip/version.rb +1 -1
  17. data/lib/tasks/docs.rake +146 -0
  18. data/readme-docs/rar-archives.adoc +505 -0
  19. data/scripts/generate_rar_oracle_fixtures.rb +177 -0
  20. data/vendor/libomnizip_ffi.so +0 -0
  21. metadata +21 -74
  22. data/TODO.refactor/00-overview.md +0 -67
  23. data/TODO.refactor/01-registry-base-class.md +0 -81
  24. data/TODO.refactor/02-error-hierarchy.md +0 -57
  25. data/TODO.refactor/03-autoload-entry-point.md +0 -69
  26. data/TODO.refactor/04-filter-base-consolidation.md +0 -49
  27. data/TODO.refactor/05-send-private-methods.md +0 -64
  28. data/TODO.refactor/06-instance-variable-access.md +0 -69
  29. data/TODO.refactor/07-respond-to-replacement.md +0 -237
  30. data/TODO.refactor/08-spec-doubles.md +0 -27
  31. data/TODO.refactor/09-cli-shared-module.md +0 -35
  32. data/TODO.refactor/10-format-detector-ocp.md +0 -34
  33. data/TODO.refactor/11-convenience-decoupling.md +0 -38
  34. data/TODO.refactor/12-thread-safety.md +0 -8
  35. data/TODO.refactor/13-lutaml-model-migration.md +0 -158
  36. data/TODO.refactor/14-add-missing-specs.md +0 -25
  37. data/docs/.github/workflows/docs.yml +0 -142
  38. data/docs/.gitignore +0 -21
  39. data/docs/Gemfile +0 -13
  40. data/docs/README.md +0 -101
  41. data/docs/_config.yml +0 -112
  42. data/docs/comparison/feature-matrix.adoc +0 -694
  43. data/docs/comparison/index.adoc +0 -113
  44. data/docs/comparison/vs-7zip.adoc +0 -309
  45. data/docs/comparison/vs-peazip.adoc +0 -77
  46. data/docs/comparison/vs-rubyzip.adoc +0 -342
  47. data/docs/comparison/vs-winrar.adoc +0 -100
  48. data/docs/concepts/index.adoc +0 -129
  49. data/docs/developer/architecture.adoc +0 -256
  50. data/docs/developer/contributing.adoc +0 -158
  51. data/docs/developer/index.adoc +0 -25
  52. data/docs/developer/testing.adoc +0 -212
  53. data/docs/getting-started/basic-usage.adoc +0 -263
  54. data/docs/getting-started/index.adoc +0 -42
  55. data/docs/getting-started/installation.adoc +0 -138
  56. data/docs/getting-started/quick-start.adoc +0 -183
  57. data/docs/getting-started/your-first-archive.adoc +0 -219
  58. data/docs/guides/advanced-features/encryption.adoc +0 -277
  59. data/docs/guides/advanced-features/index.adoc +0 -59
  60. data/docs/guides/advanced-features/parallel-processing.adoc +0 -144
  61. data/docs/guides/advanced-features/progress-tracking.adoc +0 -124
  62. data/docs/guides/advanced-features/streaming.adoc +0 -142
  63. data/docs/guides/archive-formats/gzip-format.adoc +0 -105
  64. data/docs/guides/archive-formats/index.adoc +0 -160
  65. data/docs/guides/archive-formats/ole-format.adoc +0 -151
  66. data/docs/guides/archive-formats/rar-format.adoc +0 -104
  67. data/docs/guides/archive-formats/rar5.adoc +0 -521
  68. data/docs/guides/archive-formats/rpm-format.adoc +0 -108
  69. data/docs/guides/archive-formats/seven-zip-format.adoc +0 -35
  70. data/docs/guides/archive-formats/tar-format.adoc +0 -106
  71. data/docs/guides/archive-formats/xz-format.adoc +0 -118
  72. data/docs/guides/archive-formats/zip-format.adoc +0 -35
  73. data/docs/guides/compression-algorithms/bzip2.adoc +0 -114
  74. data/docs/guides/compression-algorithms/deflate.adoc +0 -313
  75. data/docs/guides/compression-algorithms/index.adoc +0 -190
  76. data/docs/guides/compression-algorithms/lzma.adoc +0 -394
  77. data/docs/guides/compression-algorithms/lzma2.adoc +0 -244
  78. data/docs/guides/compression-algorithms/ppmd.adoc +0 -313
  79. data/docs/guides/compression-algorithms/zstandard.adoc +0 -296
  80. data/docs/guides/creating-archives.adoc +0 -348
  81. data/docs/guides/extracting-archives.adoc +0 -53
  82. data/docs/guides/format-conversion.adoc +0 -64
  83. data/docs/guides/index.adoc +0 -49
  84. data/docs/guides/migration-rubyzip.adoc +0 -217
  85. data/docs/guides/parity-archives.adoc +0 -605
  86. data/docs/guides/performance-tuning.adoc +0 -88
  87. data/docs/index.adoc +0 -228
  88. data/docs/reference/api/overview.adoc +0 -187
  89. data/docs/reference/cli/compress-command.adoc +0 -114
  90. data/docs/reference/cli/overview.adoc +0 -140
  91. data/docs/reference/index.adoc +0 -26
  92. data/docs/resources/faq.adoc +0 -185
  93. data/docs/resources/quick-reference.adoc +0 -222
  94. data/docs/troubleshooting/index.adoc +0 -207
data/.rubocop.yml CHANGED
@@ -1,7 +1,15 @@
1
1
  # Auto-generated by Cimas: Do not edit it manually!
2
2
  # See https://github.com/metanorma/cimas
3
+ #
4
+ # PINNED SNAPSHOT (2026-09-21): the config used to inherit the
5
+ # oss-guides file over HTTPS directly. A remote main that moves under
6
+ # us — combined with CI's fresh dependency resolution — made rubocop
7
+ # behavior change with zero repo-side diffs (the 2026-09-21
8
+ # Metrics/BlockLength + standard-custom CI breakage). The snapshot is
9
+ # refreshed deliberately: refresh with
10
+ # curl -sL https://raw.githubusercontent.com/riboseinc/oss-guides/main/ci/rubocop.yml -o .rubocop-oss.yml
3
11
  inherit_from:
4
- - https://raw.githubusercontent.com/riboseinc/oss-guides/main/ci/rubocop.yml
12
+ - .rubocop-oss.yml
5
13
  - .rubocop_todo.yml
6
14
 
7
15
  # local repo-specific modifications
@@ -10,6 +18,12 @@ inherit_from:
10
18
  AllCops:
11
19
  NewCops: enable
12
20
  TargetRubyVersion: 3.0
21
+ # rake rust:build clones omnizip-rs under lib/tasks/build (and a
22
+ # build/ dir may exist at the root) — never lint the vendored
23
+ # checkout's Ruby files.
24
+ Exclude:
25
+ - "build/**/*"
26
+ - "lib/tasks/build/**/*"
13
27
 
14
28
  # 7-Zip SDK uses is_char_state? naming convention (IsCharState in C)
15
29
  # We keep this naming to match the SDK reference
data/.rubocop_todo.yml CHANGED
@@ -138,9 +138,15 @@ Metrics/AbcSize:
138
138
  # AllowedMethods: refine
139
139
  Metrics/BlockLength:
140
140
  Max: 81
141
+ # Merge with the inherited exclusions (oss-guides excludes
142
+ # spec/**/* here) — a bare Exclude key REPLACES the inherited list,
143
+ # which un-excluded every spec and re-activated ~190 dormant
144
+ # offenses under rubocop 1.91 (2026-09-21 CI).
145
+ inherit_mode:
146
+ merge:
147
+ - Exclude
141
148
  Exclude:
142
149
  - "lib/tasks/platform_gems.rake"
143
- - "spec/omnizip/archive_handlers/rust_tier_handlers_spec.rb"
144
150
 
145
151
  # Offense count: 5
146
152
  # Configuration parameters: CountBlocks, CountModifierForms.
data/CHANGELOG.md CHANGED
@@ -7,7 +7,24 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ### Added
11
+ - ffi tier — JRuby/TruffleRuby acceleration (leptris-ruby model):
12
+ the cdylib's C ABI is additionally bound through the `ffi` gem
13
+ (`FfiLibrary`, same surface as the Fiddle binding), with
14
+ `Library` dispatching Fiddle → ffi → pure Ruby and
15
+ `OMNIZIP_BINDING=fiddle|ffi` to force a layer. `ffi` becomes a
16
+ runtime dependency (JRuby/TruffleRuby bundle it).
17
+ - Owned CI build matrix (windows-11-arm, musl containers, armv7
18
+ qemu, JRuby ffi gate) replacing the cimas rake job, whose fresh
19
+ dependency resolution made rubocop break with zero repo-side
20
+ diffs. The installed-gem smoke reports its binding layer.
21
+
10
22
  ### Fixed
23
+ - `Zlib::RLE` is CRuby-only: `require "omnizip"` raised NameError on
24
+ JRuby (and any engine without CRuby's zlib extension) as soon as
25
+ the Deflate algorithm loaded. RLE/FIXED strategy constants are now
26
+ guarded with their spec-defined values (3 and 4). Found by the new
27
+ JRuby CI leg — the matrix found a bug on day one.
11
28
  - RPM archive-tier readiness: the dylib requirement is
12
29
  **0.21.112**, not 0.21.111 — 0.21.111's `./`-stripping was half the
13
30
  fix (the Ruby handler's names are ABSOLUTE, from the header's
data/Gemfile CHANGED
@@ -9,7 +9,16 @@ gemspec
9
9
  gem "csv"
10
10
  gem "rake"
11
11
  gem "rspec"
12
- gem "rubocop"
12
+ # Pinned: CI resolves dependencies fresh (no lockfile), and rubocop
13
+ # 1.91 changed Metrics/BlockLength scoping + plugin loading, which
14
+ # resurrected ~190 dormant spec offenses and crashes on the inherited
15
+ # oss-guides `standard-custom` require. Re-pin after triage upstream.
16
+ gem "rubocop", "1.90.0"
17
+ # rubocop's plugin loader auto-declares this via standard's
18
+ # default_lint_roller_plugin metadata where the gem is present; on
19
+ # runners without it the require crashes rubocop outright. Ship it in
20
+ # the bundle so the load always resolves (its plugin is inert without
21
+ # a .standard.yml).
13
22
  gem "rubocop-performance"
14
23
  gem "rubocop-rake"
15
24
  gem "rubocop-rspec"
@@ -17,3 +26,16 @@ gem "thor"
17
26
 
18
27
  # Parallel processing with Fractor
19
28
  gem "fractor"
29
+
30
+ # Documentation pipeline (rake docs:build) — AsciiDoc/Markdown -> static
31
+ # HTML via Coradoc; replaces the old Jekyll site. Pinned to the coradoc
32
+ # fix for TocEntry#children (metanorma/coradoc#255, merged as PR #256)
33
+ # until it ships in a release — then switch to plain released gems.
34
+ # Ref = coradoc main at merge time (the pre-rebase branch would rot).
35
+ CORADOC_FIX_REF = "550e91c8d6f12171d45f6ff3bfd4e2d7de9be076"
36
+ gem "coradoc", git: "https://github.com/metanorma/coradoc.git",
37
+ ref: CORADOC_FIX_REF, glob: "coradoc/*.gemspec"
38
+ gem "coradoc-adoc", git: "https://github.com/metanorma/coradoc.git",
39
+ ref: CORADOC_FIX_REF, glob: "coradoc-adoc/*.gemspec"
40
+ gem "coradoc-html", git: "https://github.com/metanorma/coradoc.git",
41
+ ref: CORADOC_FIX_REF, glob: "coradoc-html/*.gemspec"