kreuzberg 4.0.0.pre.rc.13 → 4.0.0.pre.rc.14
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 +4 -4
- data/.gitignore +14 -14
- data/.rspec +3 -3
- data/.rubocop.yaml +1 -1
- data/.rubocop.yml +538 -538
- data/Gemfile +8 -8
- data/Gemfile.lock +105 -2
- data/README.md +454 -454
- data/Rakefile +33 -25
- data/Steepfile +47 -47
- data/examples/async_patterns.rb +341 -341
- data/ext/kreuzberg_rb/extconf.rb +45 -45
- data/ext/kreuzberg_rb/native/.cargo/config.toml +2 -2
- data/ext/kreuzberg_rb/native/Cargo.lock +6940 -6941
- data/ext/kreuzberg_rb/native/Cargo.toml +54 -54
- data/ext/kreuzberg_rb/native/README.md +425 -425
- data/ext/kreuzberg_rb/native/build.rs +15 -15
- data/ext/kreuzberg_rb/native/include/ieeefp.h +11 -11
- data/ext/kreuzberg_rb/native/include/msvc_compat/strings.h +14 -14
- data/ext/kreuzberg_rb/native/include/strings.h +20 -20
- data/ext/kreuzberg_rb/native/include/unistd.h +47 -47
- data/ext/kreuzberg_rb/native/src/lib.rs +3158 -3158
- data/extconf.rb +28 -28
- data/kreuzberg.gemspec +214 -214
- data/lib/kreuzberg/api_proxy.rb +142 -142
- data/lib/kreuzberg/cache_api.rb +81 -81
- data/lib/kreuzberg/cli.rb +55 -55
- data/lib/kreuzberg/cli_proxy.rb +127 -127
- data/lib/kreuzberg/config.rb +724 -724
- data/lib/kreuzberg/error_context.rb +80 -80
- data/lib/kreuzberg/errors.rb +118 -118
- data/lib/kreuzberg/extraction_api.rb +340 -340
- data/lib/kreuzberg/mcp_proxy.rb +186 -186
- data/lib/kreuzberg/ocr_backend_protocol.rb +113 -113
- data/lib/kreuzberg/post_processor_protocol.rb +86 -86
- data/lib/kreuzberg/result.rb +279 -279
- data/lib/kreuzberg/setup_lib_path.rb +80 -80
- data/lib/kreuzberg/validator_protocol.rb +89 -89
- data/lib/kreuzberg/version.rb +5 -5
- data/lib/kreuzberg.rb +109 -109
- data/lib/{pdfium.dll → libpdfium.dylib} +0 -0
- data/sig/kreuzberg/internal.rbs +184 -184
- data/sig/kreuzberg.rbs +546 -546
- data/spec/binding/cache_spec.rb +227 -227
- data/spec/binding/cli_proxy_spec.rb +85 -85
- data/spec/binding/cli_spec.rb +55 -55
- data/spec/binding/config_spec.rb +345 -345
- data/spec/binding/config_validation_spec.rb +283 -283
- data/spec/binding/error_handling_spec.rb +213 -213
- data/spec/binding/errors_spec.rb +66 -66
- data/spec/binding/plugins/ocr_backend_spec.rb +307 -307
- data/spec/binding/plugins/postprocessor_spec.rb +269 -269
- data/spec/binding/plugins/validator_spec.rb +274 -274
- data/spec/fixtures/config.toml +39 -39
- data/spec/fixtures/config.yaml +41 -41
- data/spec/fixtures/invalid_config.toml +4 -4
- data/spec/smoke/package_spec.rb +178 -178
- data/spec/spec_helper.rb +42 -42
- data/vendor/Cargo.toml +1 -1
- data/vendor/kreuzberg/Cargo.toml +5 -5
- data/vendor/kreuzberg/README.md +230 -230
- data/vendor/kreuzberg/benches/otel_overhead.rs +48 -48
- data/vendor/kreuzberg/build.rs +843 -843
- data/vendor/kreuzberg/src/api/error.rs +81 -81
- data/vendor/kreuzberg/src/api/handlers.rs +199 -199
- data/vendor/kreuzberg/src/api/mod.rs +79 -79
- data/vendor/kreuzberg/src/api/server.rs +353 -353
- data/vendor/kreuzberg/src/api/types.rs +170 -170
- data/vendor/kreuzberg/src/cache/mod.rs +1167 -1167
- data/vendor/kreuzberg/src/chunking/mod.rs +1877 -1877
- data/vendor/kreuzberg/src/chunking/processor.rs +220 -220
- data/vendor/kreuzberg/src/core/batch_mode.rs +95 -95
- data/vendor/kreuzberg/src/core/config.rs +1080 -1080
- data/vendor/kreuzberg/src/core/extractor.rs +1156 -1156
- data/vendor/kreuzberg/src/core/io.rs +329 -329
- data/vendor/kreuzberg/src/core/mime.rs +605 -605
- data/vendor/kreuzberg/src/core/mod.rs +47 -47
- data/vendor/kreuzberg/src/core/pipeline.rs +1184 -1184
- data/vendor/kreuzberg/src/embeddings.rs +500 -500
- data/vendor/kreuzberg/src/error.rs +431 -431
- data/vendor/kreuzberg/src/extraction/archive.rs +954 -954
- data/vendor/kreuzberg/src/extraction/docx.rs +398 -398
- data/vendor/kreuzberg/src/extraction/email.rs +854 -854
- data/vendor/kreuzberg/src/extraction/excel.rs +688 -688
- data/vendor/kreuzberg/src/extraction/html.rs +601 -601
- data/vendor/kreuzberg/src/extraction/image.rs +491 -491
- data/vendor/kreuzberg/src/extraction/libreoffice.rs +574 -574
- data/vendor/kreuzberg/src/extraction/markdown.rs +213 -213
- data/vendor/kreuzberg/src/extraction/mod.rs +81 -81
- data/vendor/kreuzberg/src/extraction/office_metadata/app_properties.rs +398 -398
- data/vendor/kreuzberg/src/extraction/office_metadata/core_properties.rs +247 -247
- data/vendor/kreuzberg/src/extraction/office_metadata/custom_properties.rs +240 -240
- data/vendor/kreuzberg/src/extraction/office_metadata/mod.rs +130 -130
- data/vendor/kreuzberg/src/extraction/office_metadata/odt_properties.rs +284 -284
- data/vendor/kreuzberg/src/extraction/pptx.rs +3100 -3100
- data/vendor/kreuzberg/src/extraction/structured.rs +490 -490
- data/vendor/kreuzberg/src/extraction/table.rs +328 -328
- data/vendor/kreuzberg/src/extraction/text.rs +269 -269
- data/vendor/kreuzberg/src/extraction/xml.rs +333 -333
- data/vendor/kreuzberg/src/extractors/archive.rs +447 -447
- data/vendor/kreuzberg/src/extractors/bibtex.rs +470 -470
- data/vendor/kreuzberg/src/extractors/docbook.rs +504 -504
- data/vendor/kreuzberg/src/extractors/docx.rs +400 -400
- data/vendor/kreuzberg/src/extractors/email.rs +157 -157
- data/vendor/kreuzberg/src/extractors/epub.rs +708 -708
- data/vendor/kreuzberg/src/extractors/excel.rs +345 -345
- data/vendor/kreuzberg/src/extractors/fictionbook.rs +492 -492
- data/vendor/kreuzberg/src/extractors/html.rs +407 -407
- data/vendor/kreuzberg/src/extractors/image.rs +219 -219
- data/vendor/kreuzberg/src/extractors/jats.rs +1054 -1054
- data/vendor/kreuzberg/src/extractors/jupyter.rs +368 -368
- data/vendor/kreuzberg/src/extractors/latex.rs +653 -653
- data/vendor/kreuzberg/src/extractors/markdown.rs +701 -701
- data/vendor/kreuzberg/src/extractors/mod.rs +429 -429
- data/vendor/kreuzberg/src/extractors/odt.rs +628 -628
- data/vendor/kreuzberg/src/extractors/opml.rs +635 -635
- data/vendor/kreuzberg/src/extractors/orgmode.rs +529 -529
- data/vendor/kreuzberg/src/extractors/pdf.rs +749 -749
- data/vendor/kreuzberg/src/extractors/pptx.rs +267 -267
- data/vendor/kreuzberg/src/extractors/rst.rs +577 -577
- data/vendor/kreuzberg/src/extractors/rtf.rs +809 -809
- data/vendor/kreuzberg/src/extractors/security.rs +484 -484
- data/vendor/kreuzberg/src/extractors/security_tests.rs +367 -367
- data/vendor/kreuzberg/src/extractors/structured.rs +142 -142
- data/vendor/kreuzberg/src/extractors/text.rs +265 -265
- data/vendor/kreuzberg/src/extractors/typst.rs +651 -651
- data/vendor/kreuzberg/src/extractors/xml.rs +147 -147
- data/vendor/kreuzberg/src/image/dpi.rs +164 -164
- data/vendor/kreuzberg/src/image/mod.rs +6 -6
- data/vendor/kreuzberg/src/image/preprocessing.rs +417 -417
- data/vendor/kreuzberg/src/image/resize.rs +89 -89
- data/vendor/kreuzberg/src/keywords/config.rs +154 -154
- data/vendor/kreuzberg/src/keywords/mod.rs +237 -237
- data/vendor/kreuzberg/src/keywords/processor.rs +275 -275
- data/vendor/kreuzberg/src/keywords/rake.rs +293 -293
- data/vendor/kreuzberg/src/keywords/types.rs +68 -68
- data/vendor/kreuzberg/src/keywords/yake.rs +163 -163
- data/vendor/kreuzberg/src/language_detection/mod.rs +985 -985
- data/vendor/kreuzberg/src/language_detection/processor.rs +219 -219
- data/vendor/kreuzberg/src/lib.rs +113 -113
- data/vendor/kreuzberg/src/mcp/mod.rs +35 -35
- data/vendor/kreuzberg/src/mcp/server.rs +2076 -2076
- data/vendor/kreuzberg/src/ocr/cache.rs +469 -469
- data/vendor/kreuzberg/src/ocr/error.rs +37 -37
- data/vendor/kreuzberg/src/ocr/hocr.rs +216 -216
- data/vendor/kreuzberg/src/ocr/mod.rs +58 -58
- data/vendor/kreuzberg/src/ocr/processor.rs +863 -863
- data/vendor/kreuzberg/src/ocr/table/mod.rs +4 -4
- data/vendor/kreuzberg/src/ocr/table/tsv_parser.rs +144 -144
- data/vendor/kreuzberg/src/ocr/tesseract_backend.rs +452 -452
- data/vendor/kreuzberg/src/ocr/types.rs +393 -393
- data/vendor/kreuzberg/src/ocr/utils.rs +47 -47
- data/vendor/kreuzberg/src/ocr/validation.rs +206 -206
- data/vendor/kreuzberg/src/panic_context.rs +154 -154
- data/vendor/kreuzberg/src/pdf/bindings.rs +44 -44
- data/vendor/kreuzberg/src/pdf/bundled.rs +346 -346
- data/vendor/kreuzberg/src/pdf/error.rs +130 -130
- data/vendor/kreuzberg/src/pdf/images.rs +139 -139
- data/vendor/kreuzberg/src/pdf/metadata.rs +489 -489
- data/vendor/kreuzberg/src/pdf/mod.rs +68 -68
- data/vendor/kreuzberg/src/pdf/rendering.rs +368 -368
- data/vendor/kreuzberg/src/pdf/table.rs +420 -420
- data/vendor/kreuzberg/src/pdf/text.rs +240 -240
- data/vendor/kreuzberg/src/plugins/extractor.rs +1044 -1044
- data/vendor/kreuzberg/src/plugins/mod.rs +212 -212
- data/vendor/kreuzberg/src/plugins/ocr.rs +639 -639
- data/vendor/kreuzberg/src/plugins/processor.rs +650 -650
- data/vendor/kreuzberg/src/plugins/registry.rs +1339 -1339
- data/vendor/kreuzberg/src/plugins/traits.rs +258 -258
- data/vendor/kreuzberg/src/plugins/validator.rs +967 -967
- data/vendor/kreuzberg/src/stopwords/mod.rs +1470 -1470
- data/vendor/kreuzberg/src/text/mod.rs +25 -25
- data/vendor/kreuzberg/src/text/quality.rs +697 -697
- data/vendor/kreuzberg/src/text/quality_processor.rs +219 -219
- data/vendor/kreuzberg/src/text/string_utils.rs +217 -217
- data/vendor/kreuzberg/src/text/token_reduction/cjk_utils.rs +164 -164
- data/vendor/kreuzberg/src/text/token_reduction/config.rs +100 -100
- data/vendor/kreuzberg/src/text/token_reduction/core.rs +796 -796
- data/vendor/kreuzberg/src/text/token_reduction/filters.rs +902 -902
- data/vendor/kreuzberg/src/text/token_reduction/mod.rs +160 -160
- data/vendor/kreuzberg/src/text/token_reduction/semantic.rs +619 -619
- data/vendor/kreuzberg/src/text/token_reduction/simd_text.rs +147 -147
- data/vendor/kreuzberg/src/types.rs +1055 -1055
- data/vendor/kreuzberg/src/utils/mod.rs +17 -17
- data/vendor/kreuzberg/src/utils/quality.rs +959 -959
- data/vendor/kreuzberg/src/utils/string_utils.rs +381 -381
- data/vendor/kreuzberg/stopwords/af_stopwords.json +53 -53
- data/vendor/kreuzberg/stopwords/ar_stopwords.json +482 -482
- data/vendor/kreuzberg/stopwords/bg_stopwords.json +261 -261
- data/vendor/kreuzberg/stopwords/bn_stopwords.json +400 -400
- data/vendor/kreuzberg/stopwords/br_stopwords.json +1205 -1205
- data/vendor/kreuzberg/stopwords/ca_stopwords.json +280 -280
- data/vendor/kreuzberg/stopwords/cs_stopwords.json +425 -425
- data/vendor/kreuzberg/stopwords/da_stopwords.json +172 -172
- data/vendor/kreuzberg/stopwords/de_stopwords.json +622 -622
- data/vendor/kreuzberg/stopwords/el_stopwords.json +849 -849
- data/vendor/kreuzberg/stopwords/en_stopwords.json +1300 -1300
- data/vendor/kreuzberg/stopwords/eo_stopwords.json +175 -175
- data/vendor/kreuzberg/stopwords/es_stopwords.json +734 -734
- data/vendor/kreuzberg/stopwords/et_stopwords.json +37 -37
- data/vendor/kreuzberg/stopwords/eu_stopwords.json +100 -100
- data/vendor/kreuzberg/stopwords/fa_stopwords.json +801 -801
- data/vendor/kreuzberg/stopwords/fi_stopwords.json +849 -849
- data/vendor/kreuzberg/stopwords/fr_stopwords.json +693 -693
- data/vendor/kreuzberg/stopwords/ga_stopwords.json +111 -111
- data/vendor/kreuzberg/stopwords/gl_stopwords.json +162 -162
- data/vendor/kreuzberg/stopwords/gu_stopwords.json +226 -226
- data/vendor/kreuzberg/stopwords/ha_stopwords.json +41 -41
- data/vendor/kreuzberg/stopwords/he_stopwords.json +196 -196
- data/vendor/kreuzberg/stopwords/hi_stopwords.json +227 -227
- data/vendor/kreuzberg/stopwords/hr_stopwords.json +181 -181
- data/vendor/kreuzberg/stopwords/hu_stopwords.json +791 -791
- data/vendor/kreuzberg/stopwords/hy_stopwords.json +47 -47
- data/vendor/kreuzberg/stopwords/id_stopwords.json +760 -760
- data/vendor/kreuzberg/stopwords/it_stopwords.json +634 -634
- data/vendor/kreuzberg/stopwords/ja_stopwords.json +136 -136
- data/vendor/kreuzberg/stopwords/kn_stopwords.json +84 -84
- data/vendor/kreuzberg/stopwords/ko_stopwords.json +681 -681
- data/vendor/kreuzberg/stopwords/ku_stopwords.json +64 -64
- data/vendor/kreuzberg/stopwords/la_stopwords.json +51 -51
- data/vendor/kreuzberg/stopwords/lt_stopwords.json +476 -476
- data/vendor/kreuzberg/stopwords/lv_stopwords.json +163 -163
- data/vendor/kreuzberg/stopwords/ml_stopwords.json +1 -1
- data/vendor/kreuzberg/stopwords/mr_stopwords.json +101 -101
- data/vendor/kreuzberg/stopwords/ms_stopwords.json +477 -477
- data/vendor/kreuzberg/stopwords/ne_stopwords.json +490 -490
- data/vendor/kreuzberg/stopwords/nl_stopwords.json +415 -415
- data/vendor/kreuzberg/stopwords/no_stopwords.json +223 -223
- data/vendor/kreuzberg/stopwords/pl_stopwords.json +331 -331
- data/vendor/kreuzberg/stopwords/pt_stopwords.json +562 -562
- data/vendor/kreuzberg/stopwords/ro_stopwords.json +436 -436
- data/vendor/kreuzberg/stopwords/ru_stopwords.json +561 -561
- data/vendor/kreuzberg/stopwords/si_stopwords.json +193 -193
- data/vendor/kreuzberg/stopwords/sk_stopwords.json +420 -420
- data/vendor/kreuzberg/stopwords/sl_stopwords.json +448 -448
- data/vendor/kreuzberg/stopwords/so_stopwords.json +32 -32
- data/vendor/kreuzberg/stopwords/st_stopwords.json +33 -33
- data/vendor/kreuzberg/stopwords/sv_stopwords.json +420 -420
- data/vendor/kreuzberg/stopwords/sw_stopwords.json +76 -76
- data/vendor/kreuzberg/stopwords/ta_stopwords.json +129 -129
- data/vendor/kreuzberg/stopwords/te_stopwords.json +54 -54
- data/vendor/kreuzberg/stopwords/th_stopwords.json +118 -118
- data/vendor/kreuzberg/stopwords/tl_stopwords.json +149 -149
- data/vendor/kreuzberg/stopwords/tr_stopwords.json +506 -506
- data/vendor/kreuzberg/stopwords/uk_stopwords.json +75 -75
- data/vendor/kreuzberg/stopwords/ur_stopwords.json +519 -519
- data/vendor/kreuzberg/stopwords/vi_stopwords.json +647 -647
- data/vendor/kreuzberg/stopwords/yo_stopwords.json +62 -62
- data/vendor/kreuzberg/stopwords/zh_stopwords.json +796 -796
- data/vendor/kreuzberg/stopwords/zu_stopwords.json +31 -31
- data/vendor/kreuzberg/tests/api_extract_multipart.rs +52 -52
- data/vendor/kreuzberg/tests/api_tests.rs +966 -966
- data/vendor/kreuzberg/tests/archive_integration.rs +545 -545
- data/vendor/kreuzberg/tests/batch_orchestration.rs +556 -556
- data/vendor/kreuzberg/tests/batch_processing.rs +318 -318
- data/vendor/kreuzberg/tests/bibtex_parity_test.rs +421 -421
- data/vendor/kreuzberg/tests/concurrency_stress.rs +533 -533
- data/vendor/kreuzberg/tests/config_features.rs +612 -612
- data/vendor/kreuzberg/tests/config_loading_tests.rs +416 -416
- data/vendor/kreuzberg/tests/core_integration.rs +510 -510
- data/vendor/kreuzberg/tests/csv_integration.rs +414 -414
- data/vendor/kreuzberg/tests/docbook_extractor_tests.rs +500 -500
- data/vendor/kreuzberg/tests/docx_metadata_extraction_test.rs +122 -122
- data/vendor/kreuzberg/tests/docx_vs_pandoc_comparison.rs +370 -370
- data/vendor/kreuzberg/tests/email_integration.rs +327 -327
- data/vendor/kreuzberg/tests/epub_native_extractor_tests.rs +275 -275
- data/vendor/kreuzberg/tests/error_handling.rs +402 -402
- data/vendor/kreuzberg/tests/fictionbook_extractor_tests.rs +228 -228
- data/vendor/kreuzberg/tests/format_integration.rs +164 -164
- data/vendor/kreuzberg/tests/helpers/mod.rs +142 -142
- data/vendor/kreuzberg/tests/html_table_test.rs +551 -551
- data/vendor/kreuzberg/tests/image_integration.rs +255 -255
- data/vendor/kreuzberg/tests/instrumentation_test.rs +139 -139
- data/vendor/kreuzberg/tests/jats_extractor_tests.rs +639 -639
- data/vendor/kreuzberg/tests/jupyter_extractor_tests.rs +704 -704
- data/vendor/kreuzberg/tests/keywords_integration.rs +479 -479
- data/vendor/kreuzberg/tests/keywords_quality.rs +509 -509
- data/vendor/kreuzberg/tests/latex_extractor_tests.rs +496 -496
- data/vendor/kreuzberg/tests/markdown_extractor_tests.rs +490 -490
- data/vendor/kreuzberg/tests/mime_detection.rs +429 -429
- data/vendor/kreuzberg/tests/ocr_configuration.rs +514 -514
- data/vendor/kreuzberg/tests/ocr_errors.rs +698 -698
- data/vendor/kreuzberg/tests/ocr_quality.rs +629 -629
- data/vendor/kreuzberg/tests/ocr_stress.rs +469 -469
- data/vendor/kreuzberg/tests/odt_extractor_tests.rs +674 -674
- data/vendor/kreuzberg/tests/opml_extractor_tests.rs +616 -616
- data/vendor/kreuzberg/tests/orgmode_extractor_tests.rs +822 -822
- data/vendor/kreuzberg/tests/pdf_integration.rs +45 -45
- data/vendor/kreuzberg/tests/pdfium_linking.rs +374 -374
- data/vendor/kreuzberg/tests/pipeline_integration.rs +1436 -1436
- data/vendor/kreuzberg/tests/plugin_ocr_backend_test.rs +776 -776
- data/vendor/kreuzberg/tests/plugin_postprocessor_test.rs +560 -560
- data/vendor/kreuzberg/tests/plugin_system.rs +927 -927
- data/vendor/kreuzberg/tests/plugin_validator_test.rs +783 -783
- data/vendor/kreuzberg/tests/registry_integration_tests.rs +587 -587
- data/vendor/kreuzberg/tests/rst_extractor_tests.rs +694 -694
- data/vendor/kreuzberg/tests/rtf_extractor_tests.rs +775 -775
- data/vendor/kreuzberg/tests/security_validation.rs +416 -416
- data/vendor/kreuzberg/tests/stopwords_integration_test.rs +888 -888
- data/vendor/kreuzberg/tests/test_fastembed.rs +631 -631
- data/vendor/kreuzberg/tests/typst_behavioral_tests.rs +1260 -1260
- data/vendor/kreuzberg/tests/typst_extractor_tests.rs +648 -648
- data/vendor/kreuzberg/tests/xlsx_metadata_extraction_test.rs +87 -87
- data/vendor/kreuzberg-ffi/Cargo.toml +1 -1
- data/vendor/kreuzberg-ffi/README.md +851 -851
- data/vendor/kreuzberg-ffi/build.rs +176 -176
- data/vendor/kreuzberg-ffi/cbindgen.toml +27 -27
- data/vendor/kreuzberg-ffi/kreuzberg-ffi.pc.in +12 -12
- data/vendor/kreuzberg-ffi/kreuzberg.h +1087 -1087
- data/vendor/kreuzberg-ffi/src/lib.rs +3616 -3616
- data/vendor/kreuzberg-ffi/src/panic_shield.rs +247 -247
- data/vendor/kreuzberg-ffi/tests.disabled/README.md +48 -48
- data/vendor/kreuzberg-ffi/tests.disabled/config_loading_tests.rs +299 -299
- data/vendor/kreuzberg-ffi/tests.disabled/config_tests.rs +346 -346
- data/vendor/kreuzberg-ffi/tests.disabled/extractor_tests.rs +232 -232
- data/vendor/kreuzberg-ffi/tests.disabled/plugin_registration_tests.rs +470 -470
- data/vendor/kreuzberg-tesseract/.commitlintrc.json +13 -13
- data/vendor/kreuzberg-tesseract/.crate-ignore +2 -2
- data/vendor/kreuzberg-tesseract/Cargo.lock +2933 -2933
- data/vendor/kreuzberg-tesseract/Cargo.toml +2 -2
- data/vendor/kreuzberg-tesseract/LICENSE +22 -22
- data/vendor/kreuzberg-tesseract/README.md +399 -399
- data/vendor/kreuzberg-tesseract/build.rs +1354 -1354
- data/vendor/kreuzberg-tesseract/patches/README.md +71 -71
- data/vendor/kreuzberg-tesseract/patches/tesseract.diff +199 -199
- data/vendor/kreuzberg-tesseract/src/api.rs +1371 -1371
- data/vendor/kreuzberg-tesseract/src/choice_iterator.rs +77 -77
- data/vendor/kreuzberg-tesseract/src/enums.rs +297 -297
- data/vendor/kreuzberg-tesseract/src/error.rs +81 -81
- data/vendor/kreuzberg-tesseract/src/lib.rs +145 -145
- data/vendor/kreuzberg-tesseract/src/monitor.rs +57 -57
- data/vendor/kreuzberg-tesseract/src/mutable_iterator.rs +197 -197
- data/vendor/kreuzberg-tesseract/src/page_iterator.rs +253 -253
- data/vendor/kreuzberg-tesseract/src/result_iterator.rs +286 -286
- data/vendor/kreuzberg-tesseract/src/result_renderer.rs +183 -183
- data/vendor/kreuzberg-tesseract/tests/integration_test.rs +211 -211
- data/vendor/rb-sys/.cargo_vcs_info.json +5 -5
- data/vendor/rb-sys/Cargo.lock +393 -393
- data/vendor/rb-sys/Cargo.toml +70 -70
- data/vendor/rb-sys/Cargo.toml.orig +57 -57
- data/vendor/rb-sys/LICENSE-APACHE +190 -190
- data/vendor/rb-sys/LICENSE-MIT +21 -21
- data/vendor/rb-sys/build/features.rs +111 -111
- data/vendor/rb-sys/build/main.rs +286 -286
- data/vendor/rb-sys/build/stable_api_config.rs +155 -155
- data/vendor/rb-sys/build/version.rs +50 -50
- data/vendor/rb-sys/readme.md +36 -36
- data/vendor/rb-sys/src/bindings.rs +21 -21
- data/vendor/rb-sys/src/hidden.rs +11 -11
- data/vendor/rb-sys/src/lib.rs +35 -35
- data/vendor/rb-sys/src/macros.rs +371 -371
- data/vendor/rb-sys/src/memory.rs +53 -53
- data/vendor/rb-sys/src/ruby_abi_version.rs +38 -38
- data/vendor/rb-sys/src/special_consts.rs +31 -31
- data/vendor/rb-sys/src/stable_api/compiled.c +179 -179
- data/vendor/rb-sys/src/stable_api/compiled.rs +257 -257
- data/vendor/rb-sys/src/stable_api/ruby_2_7.rs +324 -324
- data/vendor/rb-sys/src/stable_api/ruby_3_0.rs +332 -332
- data/vendor/rb-sys/src/stable_api/ruby_3_1.rs +325 -325
- data/vendor/rb-sys/src/stable_api/ruby_3_2.rs +323 -323
- data/vendor/rb-sys/src/stable_api/ruby_3_3.rs +339 -339
- data/vendor/rb-sys/src/stable_api/ruby_3_4.rs +339 -339
- data/vendor/rb-sys/src/stable_api.rs +260 -260
- data/vendor/rb-sys/src/symbol.rs +31 -31
- data/vendor/rb-sys/src/tracking_allocator.rs +330 -330
- data/vendor/rb-sys/src/utils.rs +89 -89
- data/vendor/rb-sys/src/value_type.rs +7 -7
- metadata +73 -4
- data/vendor/kreuzberg-ffi/kreuzberg-ffi-install.pc +0 -12
|
@@ -1,176 +1,176 @@
|
|
|
1
|
-
use std::env;
|
|
2
|
-
use std::fs;
|
|
3
|
-
use std::path::{Path, PathBuf};
|
|
4
|
-
|
|
5
|
-
fn main() {
|
|
6
|
-
if let Err(e) = run() {
|
|
7
|
-
eprintln!("Build script error: {}", e);
|
|
8
|
-
std::process::exit(1);
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
fn run() -> Result<(), String> {
|
|
13
|
-
let crate_dir = env::var("CARGO_MANIFEST_DIR").map_err(|_| "CARGO_MANIFEST_DIR not set".to_string())?;
|
|
14
|
-
|
|
15
|
-
let config =
|
|
16
|
-
cbindgen::Config::from_file("cbindgen.toml").map_err(|e| format!("Failed to load cbindgen config: {}", e))?;
|
|
17
|
-
|
|
18
|
-
cbindgen::generate_with_config(&crate_dir, config)
|
|
19
|
-
.map_err(|e| format!("Failed to generate C bindings: {}", e))?
|
|
20
|
-
.write_to_file("kreuzberg.h");
|
|
21
|
-
|
|
22
|
-
// Generate pkg-config files
|
|
23
|
-
let pc_template = std::fs::read_to_string("kreuzberg-ffi.pc.in")
|
|
24
|
-
.map_err(|e| format!("Failed to read pkg-config template: {}", e))?;
|
|
25
|
-
|
|
26
|
-
let version = env::var("CARGO_PKG_VERSION").map_err(|_| "CARGO_PKG_VERSION not set".to_string())?;
|
|
27
|
-
|
|
28
|
-
let repo_root = Path::new(&crate_dir).parent().and_then(|p| p.parent()).ok_or_else(|| {
|
|
29
|
-
"CARGO_MANIFEST_DIR did not have expected depth (expected crates/kreuzberg-ffi/...)".to_string()
|
|
30
|
-
})?;
|
|
31
|
-
|
|
32
|
-
// Normalize paths to use forward slashes for pkg-config compatibility across all platforms
|
|
33
|
-
let dev_prefix = repo_root.to_string_lossy().replace('\\', "/");
|
|
34
|
-
|
|
35
|
-
// Platform-specific private libs - detect both OS and target environment
|
|
36
|
-
// Use CARGO_CFG_TARGET_OS for cross-compilation support and CARGO_CFG_TARGET_ENV for MSVC detection
|
|
37
|
-
let target_os = env::var("CARGO_CFG_TARGET_OS").unwrap_or_else(|_| "unknown".to_string());
|
|
38
|
-
let target_env = env::var("CARGO_CFG_TARGET_ENV").unwrap_or_else(|_| "gnu".to_string());
|
|
39
|
-
|
|
40
|
-
let libs_private = match target_os.as_str() {
|
|
41
|
-
"linux" => "-lpthread -ldl -lm",
|
|
42
|
-
"macos" => "-framework CoreFoundation -framework Security -lpthread",
|
|
43
|
-
"windows" => match target_env.as_str() {
|
|
44
|
-
"msvc" => "-lws2_32 -luserenv -lbcrypt",
|
|
45
|
-
// gnu targets (MinGW, etc.) support GCC-specific flags
|
|
46
|
-
"gnu" => "-lpthread -lws2_32 -luserenv -lbcrypt -static-libgcc -static-libstdc++",
|
|
47
|
-
_ => "-lws2_32 -luserenv -lbcrypt",
|
|
48
|
-
},
|
|
49
|
-
_ => "",
|
|
50
|
-
};
|
|
51
|
-
|
|
52
|
-
let out_dir = PathBuf::from(env::var("OUT_DIR").map_err(|_| "OUT_DIR not set".to_string())?);
|
|
53
|
-
let profile_dir = out_dir
|
|
54
|
-
.ancestors()
|
|
55
|
-
.nth(3)
|
|
56
|
-
.ok_or_else(|| "OUT_DIR did not have expected depth (expected target/{debug,release}/build/...)".to_string())?;
|
|
57
|
-
|
|
58
|
-
// Copy PDFium library from kreuzberg build output to profile_dir (target/release or target/debug)
|
|
59
|
-
// This is necessary for Java and other language bindings that need bundled-pdfium
|
|
60
|
-
copy_pdfium_to_profile_dir(profile_dir)?;
|
|
61
|
-
|
|
62
|
-
// Development version (for monorepo use) - use actual monorepo paths
|
|
63
|
-
// Normalize path separators for pkg-config compatibility across all platforms
|
|
64
|
-
let dev_libdir = profile_dir.to_string_lossy().replace('\\', "/");
|
|
65
|
-
let dev_includedir = format!("{}/crates/kreuzberg-ffi", dev_prefix);
|
|
66
|
-
let dev_pc = format!(
|
|
67
|
-
r#"prefix={}
|
|
68
|
-
exec_prefix=${{prefix}}
|
|
69
|
-
libdir={}
|
|
70
|
-
includedir={}
|
|
71
|
-
|
|
72
|
-
Name: kreuzberg-ffi
|
|
73
|
-
Description: C FFI bindings for Kreuzberg document intelligence library
|
|
74
|
-
Version: {}
|
|
75
|
-
URL: https://kreuzberg.dev
|
|
76
|
-
Libs: -L${{libdir}} -lkreuzberg_ffi
|
|
77
|
-
Libs.private: {}
|
|
78
|
-
Cflags: -I${{includedir}}
|
|
79
|
-
"#,
|
|
80
|
-
dev_prefix, dev_libdir, dev_includedir, version, libs_private
|
|
81
|
-
);
|
|
82
|
-
std::fs::write("kreuzberg-ffi.pc", dev_pc).map_err(|e| format!("Failed to write development pkg-config: {}", e))?;
|
|
83
|
-
|
|
84
|
-
// Installation version (for release artifacts)
|
|
85
|
-
let install_pc = pc_template
|
|
86
|
-
.replace("@PREFIX@", "/usr/local")
|
|
87
|
-
.replace("@VERSION@", &version)
|
|
88
|
-
.replace("@LIBS_PRIVATE@", libs_private);
|
|
89
|
-
std::fs::write("kreuzberg-ffi-install.pc", install_pc)
|
|
90
|
-
.map_err(|e| format!("Failed to write installation pkg-config: {}", e))?;
|
|
91
|
-
|
|
92
|
-
#[cfg(target_os = "macos")]
|
|
93
|
-
{
|
|
94
|
-
println!("cargo:rustc-link-arg=-rpath");
|
|
95
|
-
println!("cargo:rustc-link-arg=@loader_path");
|
|
96
|
-
|
|
97
|
-
println!("cargo:rustc-link-arg=-rpath");
|
|
98
|
-
println!("cargo:rustc-link-arg=@executable_path/../target/release");
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
println!("cargo:rerun-if-changed=cbindgen.toml");
|
|
102
|
-
println!("cargo:rerun-if-changed=src/lib.rs");
|
|
103
|
-
println!("cargo:rerun-if-changed=kreuzberg-ffi.pc.in");
|
|
104
|
-
|
|
105
|
-
Ok(())
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
/// Copy bundled PDFium library from kreuzberg build output to profile directory.
|
|
109
|
-
/// This enables Java/other language bindings to find libpdfium.dylib/so/dll at runtime.
|
|
110
|
-
fn copy_pdfium_to_profile_dir(profile_dir: &Path) -> Result<(), String> {
|
|
111
|
-
let build_dir = profile_dir.join("build");
|
|
112
|
-
|
|
113
|
-
// Search for PDFium in kreuzberg build output directory
|
|
114
|
-
// Pattern: target/{debug,release}/build/kreuzberg-{hash}/out/libpdfium.*
|
|
115
|
-
if let Ok(entries) = fs::read_dir(&build_dir) {
|
|
116
|
-
for entry in entries.flatten() {
|
|
117
|
-
let path = entry.path();
|
|
118
|
-
if path.is_dir()
|
|
119
|
-
&& path
|
|
120
|
-
.file_name()
|
|
121
|
-
.is_some_and(|n| n.to_string_lossy().starts_with("kreuzberg-"))
|
|
122
|
-
{
|
|
123
|
-
let out_dir = path.join("out");
|
|
124
|
-
if out_dir.exists() {
|
|
125
|
-
// Try to copy PDFium from this build directory
|
|
126
|
-
if copy_pdfium_from_dir(&out_dir, profile_dir).is_err() {
|
|
127
|
-
continue; // Try next directory if this one fails
|
|
128
|
-
} else {
|
|
129
|
-
return Ok(()); // Success!
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
// If we get here, PDFium was not found - this is a warning, not an error
|
|
137
|
-
// because PDFium might be system-installed or the bundled-pdfium feature might not be enabled
|
|
138
|
-
eprintln!("Warning: bundled PDFium library not found in build output. Some features may not work.");
|
|
139
|
-
eprintln!("If PDFium is needed, ensure the 'bundled-pdfium' feature is enabled.");
|
|
140
|
-
|
|
141
|
-
Ok(())
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
/// Copy PDFium library files from source directory to destination.
|
|
145
|
-
fn copy_pdfium_from_dir(src_dir: &Path, dest_dir: &Path) -> Result<(), String> {
|
|
146
|
-
// Read all files in the source directory
|
|
147
|
-
let entries = fs::read_dir(src_dir).map_err(|e| format!("Failed to read {}: {}", src_dir.display(), e))?;
|
|
148
|
-
|
|
149
|
-
// Look for libpdfium.* files
|
|
150
|
-
for entry in entries.flatten() {
|
|
151
|
-
let path = entry.path();
|
|
152
|
-
let file_name = path.file_name().ok_or("No file name")?;
|
|
153
|
-
let file_name_str = file_name.to_string_lossy();
|
|
154
|
-
|
|
155
|
-
if file_name_str.starts_with("libpdfium") || file_name_str.starts_with("pdfium") {
|
|
156
|
-
let dest_file = dest_dir.join(file_name);
|
|
157
|
-
match fs::copy(&path, &dest_file) {
|
|
158
|
-
Ok(bytes_copied) => {
|
|
159
|
-
eprintln!(
|
|
160
|
-
"Copied {} ({} bytes) to {}",
|
|
161
|
-
path.display(),
|
|
162
|
-
bytes_copied,
|
|
163
|
-
dest_file.display()
|
|
164
|
-
);
|
|
165
|
-
return Ok(());
|
|
166
|
-
}
|
|
167
|
-
Err(e) => {
|
|
168
|
-
eprintln!("Failed to copy {} to {}: {}", path.display(), dest_file.display(), e);
|
|
169
|
-
return Err(format!("Failed to copy PDFium: {}", e));
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
Err(format!("PDFium library not found in {}", src_dir.display()))
|
|
176
|
-
}
|
|
1
|
+
use std::env;
|
|
2
|
+
use std::fs;
|
|
3
|
+
use std::path::{Path, PathBuf};
|
|
4
|
+
|
|
5
|
+
fn main() {
|
|
6
|
+
if let Err(e) = run() {
|
|
7
|
+
eprintln!("Build script error: {}", e);
|
|
8
|
+
std::process::exit(1);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
fn run() -> Result<(), String> {
|
|
13
|
+
let crate_dir = env::var("CARGO_MANIFEST_DIR").map_err(|_| "CARGO_MANIFEST_DIR not set".to_string())?;
|
|
14
|
+
|
|
15
|
+
let config =
|
|
16
|
+
cbindgen::Config::from_file("cbindgen.toml").map_err(|e| format!("Failed to load cbindgen config: {}", e))?;
|
|
17
|
+
|
|
18
|
+
cbindgen::generate_with_config(&crate_dir, config)
|
|
19
|
+
.map_err(|e| format!("Failed to generate C bindings: {}", e))?
|
|
20
|
+
.write_to_file("kreuzberg.h");
|
|
21
|
+
|
|
22
|
+
// Generate pkg-config files
|
|
23
|
+
let pc_template = std::fs::read_to_string("kreuzberg-ffi.pc.in")
|
|
24
|
+
.map_err(|e| format!("Failed to read pkg-config template: {}", e))?;
|
|
25
|
+
|
|
26
|
+
let version = env::var("CARGO_PKG_VERSION").map_err(|_| "CARGO_PKG_VERSION not set".to_string())?;
|
|
27
|
+
|
|
28
|
+
let repo_root = Path::new(&crate_dir).parent().and_then(|p| p.parent()).ok_or_else(|| {
|
|
29
|
+
"CARGO_MANIFEST_DIR did not have expected depth (expected crates/kreuzberg-ffi/...)".to_string()
|
|
30
|
+
})?;
|
|
31
|
+
|
|
32
|
+
// Normalize paths to use forward slashes for pkg-config compatibility across all platforms
|
|
33
|
+
let dev_prefix = repo_root.to_string_lossy().replace('\\', "/");
|
|
34
|
+
|
|
35
|
+
// Platform-specific private libs - detect both OS and target environment
|
|
36
|
+
// Use CARGO_CFG_TARGET_OS for cross-compilation support and CARGO_CFG_TARGET_ENV for MSVC detection
|
|
37
|
+
let target_os = env::var("CARGO_CFG_TARGET_OS").unwrap_or_else(|_| "unknown".to_string());
|
|
38
|
+
let target_env = env::var("CARGO_CFG_TARGET_ENV").unwrap_or_else(|_| "gnu".to_string());
|
|
39
|
+
|
|
40
|
+
let libs_private = match target_os.as_str() {
|
|
41
|
+
"linux" => "-lpthread -ldl -lm",
|
|
42
|
+
"macos" => "-framework CoreFoundation -framework Security -lpthread",
|
|
43
|
+
"windows" => match target_env.as_str() {
|
|
44
|
+
"msvc" => "-lws2_32 -luserenv -lbcrypt",
|
|
45
|
+
// gnu targets (MinGW, etc.) support GCC-specific flags
|
|
46
|
+
"gnu" => "-lpthread -lws2_32 -luserenv -lbcrypt -static-libgcc -static-libstdc++",
|
|
47
|
+
_ => "-lws2_32 -luserenv -lbcrypt",
|
|
48
|
+
},
|
|
49
|
+
_ => "",
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
let out_dir = PathBuf::from(env::var("OUT_DIR").map_err(|_| "OUT_DIR not set".to_string())?);
|
|
53
|
+
let profile_dir = out_dir
|
|
54
|
+
.ancestors()
|
|
55
|
+
.nth(3)
|
|
56
|
+
.ok_or_else(|| "OUT_DIR did not have expected depth (expected target/{debug,release}/build/...)".to_string())?;
|
|
57
|
+
|
|
58
|
+
// Copy PDFium library from kreuzberg build output to profile_dir (target/release or target/debug)
|
|
59
|
+
// This is necessary for Java and other language bindings that need bundled-pdfium
|
|
60
|
+
copy_pdfium_to_profile_dir(profile_dir)?;
|
|
61
|
+
|
|
62
|
+
// Development version (for monorepo use) - use actual monorepo paths
|
|
63
|
+
// Normalize path separators for pkg-config compatibility across all platforms
|
|
64
|
+
let dev_libdir = profile_dir.to_string_lossy().replace('\\', "/");
|
|
65
|
+
let dev_includedir = format!("{}/crates/kreuzberg-ffi", dev_prefix);
|
|
66
|
+
let dev_pc = format!(
|
|
67
|
+
r#"prefix={}
|
|
68
|
+
exec_prefix=${{prefix}}
|
|
69
|
+
libdir={}
|
|
70
|
+
includedir={}
|
|
71
|
+
|
|
72
|
+
Name: kreuzberg-ffi
|
|
73
|
+
Description: C FFI bindings for Kreuzberg document intelligence library
|
|
74
|
+
Version: {}
|
|
75
|
+
URL: https://kreuzberg.dev
|
|
76
|
+
Libs: -L${{libdir}} -lkreuzberg_ffi
|
|
77
|
+
Libs.private: {}
|
|
78
|
+
Cflags: -I${{includedir}}
|
|
79
|
+
"#,
|
|
80
|
+
dev_prefix, dev_libdir, dev_includedir, version, libs_private
|
|
81
|
+
);
|
|
82
|
+
std::fs::write("kreuzberg-ffi.pc", dev_pc).map_err(|e| format!("Failed to write development pkg-config: {}", e))?;
|
|
83
|
+
|
|
84
|
+
// Installation version (for release artifacts)
|
|
85
|
+
let install_pc = pc_template
|
|
86
|
+
.replace("@PREFIX@", "/usr/local")
|
|
87
|
+
.replace("@VERSION@", &version)
|
|
88
|
+
.replace("@LIBS_PRIVATE@", libs_private);
|
|
89
|
+
std::fs::write("kreuzberg-ffi-install.pc", install_pc)
|
|
90
|
+
.map_err(|e| format!("Failed to write installation pkg-config: {}", e))?;
|
|
91
|
+
|
|
92
|
+
#[cfg(target_os = "macos")]
|
|
93
|
+
{
|
|
94
|
+
println!("cargo:rustc-link-arg=-rpath");
|
|
95
|
+
println!("cargo:rustc-link-arg=@loader_path");
|
|
96
|
+
|
|
97
|
+
println!("cargo:rustc-link-arg=-rpath");
|
|
98
|
+
println!("cargo:rustc-link-arg=@executable_path/../target/release");
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
println!("cargo:rerun-if-changed=cbindgen.toml");
|
|
102
|
+
println!("cargo:rerun-if-changed=src/lib.rs");
|
|
103
|
+
println!("cargo:rerun-if-changed=kreuzberg-ffi.pc.in");
|
|
104
|
+
|
|
105
|
+
Ok(())
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
/// Copy bundled PDFium library from kreuzberg build output to profile directory.
|
|
109
|
+
/// This enables Java/other language bindings to find libpdfium.dylib/so/dll at runtime.
|
|
110
|
+
fn copy_pdfium_to_profile_dir(profile_dir: &Path) -> Result<(), String> {
|
|
111
|
+
let build_dir = profile_dir.join("build");
|
|
112
|
+
|
|
113
|
+
// Search for PDFium in kreuzberg build output directory
|
|
114
|
+
// Pattern: target/{debug,release}/build/kreuzberg-{hash}/out/libpdfium.*
|
|
115
|
+
if let Ok(entries) = fs::read_dir(&build_dir) {
|
|
116
|
+
for entry in entries.flatten() {
|
|
117
|
+
let path = entry.path();
|
|
118
|
+
if path.is_dir()
|
|
119
|
+
&& path
|
|
120
|
+
.file_name()
|
|
121
|
+
.is_some_and(|n| n.to_string_lossy().starts_with("kreuzberg-"))
|
|
122
|
+
{
|
|
123
|
+
let out_dir = path.join("out");
|
|
124
|
+
if out_dir.exists() {
|
|
125
|
+
// Try to copy PDFium from this build directory
|
|
126
|
+
if copy_pdfium_from_dir(&out_dir, profile_dir).is_err() {
|
|
127
|
+
continue; // Try next directory if this one fails
|
|
128
|
+
} else {
|
|
129
|
+
return Ok(()); // Success!
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
// If we get here, PDFium was not found - this is a warning, not an error
|
|
137
|
+
// because PDFium might be system-installed or the bundled-pdfium feature might not be enabled
|
|
138
|
+
eprintln!("Warning: bundled PDFium library not found in build output. Some features may not work.");
|
|
139
|
+
eprintln!("If PDFium is needed, ensure the 'bundled-pdfium' feature is enabled.");
|
|
140
|
+
|
|
141
|
+
Ok(())
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
/// Copy PDFium library files from source directory to destination.
|
|
145
|
+
fn copy_pdfium_from_dir(src_dir: &Path, dest_dir: &Path) -> Result<(), String> {
|
|
146
|
+
// Read all files in the source directory
|
|
147
|
+
let entries = fs::read_dir(src_dir).map_err(|e| format!("Failed to read {}: {}", src_dir.display(), e))?;
|
|
148
|
+
|
|
149
|
+
// Look for libpdfium.* files
|
|
150
|
+
for entry in entries.flatten() {
|
|
151
|
+
let path = entry.path();
|
|
152
|
+
let file_name = path.file_name().ok_or("No file name")?;
|
|
153
|
+
let file_name_str = file_name.to_string_lossy();
|
|
154
|
+
|
|
155
|
+
if file_name_str.starts_with("libpdfium") || file_name_str.starts_with("pdfium") {
|
|
156
|
+
let dest_file = dest_dir.join(file_name);
|
|
157
|
+
match fs::copy(&path, &dest_file) {
|
|
158
|
+
Ok(bytes_copied) => {
|
|
159
|
+
eprintln!(
|
|
160
|
+
"Copied {} ({} bytes) to {}",
|
|
161
|
+
path.display(),
|
|
162
|
+
bytes_copied,
|
|
163
|
+
dest_file.display()
|
|
164
|
+
);
|
|
165
|
+
return Ok(());
|
|
166
|
+
}
|
|
167
|
+
Err(e) => {
|
|
168
|
+
eprintln!("Failed to copy {} to {}: {}", path.display(), dest_file.display(), e);
|
|
169
|
+
return Err(format!("Failed to copy PDFium: {}", e));
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
Err(format!("PDFium library not found in {}", src_dir.display()))
|
|
176
|
+
}
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
language = "C"
|
|
2
|
-
include_guard = "KREUZBERG_FFI_H"
|
|
3
|
-
pragma_once = true
|
|
4
|
-
header = "/* Auto-generated C bindings for Kreuzberg */"
|
|
5
|
-
autogen_warning = "/* Warning, this file is autogenerated by cbindgen. Don't modify this manually. */"
|
|
6
|
-
documentation = true
|
|
7
|
-
line_length = 100
|
|
8
|
-
after_includes = """
|
|
9
|
-
/**
|
|
10
|
-
* Opaque type for extraction configuration.
|
|
11
|
-
* This is an opaque pointer type - callers should not access its internals.
|
|
12
|
-
*/
|
|
13
|
-
typedef struct ExtractionConfig ExtractionConfig;
|
|
14
|
-
"""
|
|
15
|
-
|
|
16
|
-
[export]
|
|
17
|
-
include = [
|
|
18
|
-
"kreuzberg_extract_file_sync",
|
|
19
|
-
"kreuzberg_free_string",
|
|
20
|
-
"kreuzberg_free_result",
|
|
21
|
-
"kreuzberg_last_error",
|
|
22
|
-
"kreuzberg_version",
|
|
23
|
-
]
|
|
24
|
-
|
|
25
|
-
[parse]
|
|
26
|
-
parse_deps = false
|
|
27
|
-
include = []
|
|
1
|
+
language = "C"
|
|
2
|
+
include_guard = "KREUZBERG_FFI_H"
|
|
3
|
+
pragma_once = true
|
|
4
|
+
header = "/* Auto-generated C bindings for Kreuzberg */"
|
|
5
|
+
autogen_warning = "/* Warning, this file is autogenerated by cbindgen. Don't modify this manually. */"
|
|
6
|
+
documentation = true
|
|
7
|
+
line_length = 100
|
|
8
|
+
after_includes = """
|
|
9
|
+
/**
|
|
10
|
+
* Opaque type for extraction configuration.
|
|
11
|
+
* This is an opaque pointer type - callers should not access its internals.
|
|
12
|
+
*/
|
|
13
|
+
typedef struct ExtractionConfig ExtractionConfig;
|
|
14
|
+
"""
|
|
15
|
+
|
|
16
|
+
[export]
|
|
17
|
+
include = [
|
|
18
|
+
"kreuzberg_extract_file_sync",
|
|
19
|
+
"kreuzberg_free_string",
|
|
20
|
+
"kreuzberg_free_result",
|
|
21
|
+
"kreuzberg_last_error",
|
|
22
|
+
"kreuzberg_version",
|
|
23
|
+
]
|
|
24
|
+
|
|
25
|
+
[parse]
|
|
26
|
+
parse_deps = false
|
|
27
|
+
include = []
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
prefix=@PREFIX@
|
|
2
|
-
exec_prefix=${prefix}
|
|
3
|
-
libdir=${exec_prefix}/lib
|
|
4
|
-
includedir=${prefix}/include
|
|
5
|
-
|
|
6
|
-
Name: kreuzberg-ffi
|
|
7
|
-
Description: C FFI bindings for Kreuzberg document intelligence library
|
|
8
|
-
Version: @VERSION@
|
|
9
|
-
URL: https://kreuzberg.dev
|
|
10
|
-
Libs: -L${libdir} -lkreuzberg_ffi
|
|
11
|
-
Libs.private: @LIBS_PRIVATE@
|
|
12
|
-
Cflags: -I${includedir}
|
|
1
|
+
prefix=@PREFIX@
|
|
2
|
+
exec_prefix=${prefix}
|
|
3
|
+
libdir=${exec_prefix}/lib
|
|
4
|
+
includedir=${prefix}/include
|
|
5
|
+
|
|
6
|
+
Name: kreuzberg-ffi
|
|
7
|
+
Description: C FFI bindings for Kreuzberg document intelligence library
|
|
8
|
+
Version: @VERSION@
|
|
9
|
+
URL: https://kreuzberg.dev
|
|
10
|
+
Libs: -L${libdir} -lkreuzberg_ffi
|
|
11
|
+
Libs.private: @LIBS_PRIVATE@
|
|
12
|
+
Cflags: -I${includedir}
|