tebako-runtime 0.8.0 → 0.8.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2e6335f63f8a3104c6ad7b50f20d8194023a67726cf2bb98f41c6a4d7393132c
4
- data.tar.gz: c30b8c93b4cb5635674899a5a7144e6e0da06ddd5aba440bab6d78ab9a4387a4
3
+ metadata.gz: d01b14a31f3d1da626501ec645ab1a8610029d326377e57e3f52addb5c0daef7
4
+ data.tar.gz: f98483c9334708b22e9a41b436a170b544b5c61fb7c146d3d5346b6243a34e56
5
5
  SHA512:
6
- metadata.gz: 81c147d430ca924de2a18ae0f055ac06a45927c041337af0f77a090568c2dc514bd996816ff0a7d5163e8b81d792deb90e65a0583c6ae114cf3f2494cf4d03de
7
- data.tar.gz: babbc69b875c0ce6c5308bcb41ab9e06457d1ab5f007556b14acc4dcc52ff63a9014fa343a6a667523f51efbc1ba6dd14e2edd835d7a07b4276a7370e92a75b2
6
+ metadata.gz: a126bed280710c51fc9d75c40abc23a405294f73abe4b9e9427e6f9862c30dfdd5d011bcdb0755f49ec91ed2f0d7c6d646fe4bd8f032349334097bedff1946de
7
+ data.tar.gz: 4946c5291223a108a69c57fac4e916d14e87bcda175a0d288edba1962cbdd154430dd1b688b6fcdebd043f803dfff3d14fb615bd11898f2af2ac6530bd717565
data/README.adoc CHANGED
@@ -24,8 +24,6 @@ tebako-runtime (this Gem) provides support for known Gems that use system calls
24
24
  == Supported Gems
25
25
 
26
26
  * https://rubygems.org/gems/excavate/[excavate]
27
- * https://rubygems.org/gems/fiddle[fiddle]
28
- * https://rubygems.org/gems/ffi[ffi]
29
27
  * https://rubygems.org/gems/jing[jing]
30
28
  * https://rubygems.org/gems/mn2pdf[mn2pdf]
31
29
  * https://rubygems.org/gems/mnconvert[mnconvert]
@@ -1,7 +1,7 @@
1
1
  ##
2
2
  ## Bundle of CA Root Certificates
3
3
  ##
4
- ## Certificate data from Mozilla as of: Thu Jul 16 03:12:01 2026 GMT
4
+ ## Certificate data from Mozilla as of: Thu Aug 13 03:12:01 2026 GMT
5
5
  ##
6
6
  ## Find updated versions here: https://curl.se/docs/caextract.html
7
7
  ##
@@ -16,7 +16,7 @@
16
16
  ## Configure this file as the SSLCACertificateFile.
17
17
  ##
18
18
  ## Conversion done with mk-ca-bundle.pl version 1.33.
19
- ## SHA256: e57912808daef7b2b0fa4df2ccf17e47aeaf26c839a38f85c76003ebafd866bd
19
+ ## SHA256: 81b7f2576333a2e360e673f912d7b0b7a765d836c731003e348a46cac5d37198
20
20
  ##
21
21
 
22
22
 
@@ -37,37 +37,6 @@ FAkK+qDmfQjGGoe9GKhzvSbKYAydzpmfz1wPMOG+FDHqAjAU9JM8SaczepBGR7NjfRObTrdvGDeA
37
37
  U/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY=
38
38
  -----END CERTIFICATE-----
39
39
 
40
- ePKI Root Certification Authority
41
- =================================
42
- -----BEGIN CERTIFICATE-----
43
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- ETOxQvdibBjWzwloPn9s9h6PYq2lY9sJpx8iQkEeb5mKPtf5P0B6ebClAZLSnT0IFaUQAS2zMnao
55
- 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
- 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
- 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
- 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
- ClZ87lt4DJX5GFPBphzYEDANBgkqhkiG9w0BAQUFAAOCAgEACbODU1kBPpVJufGBuvl2ICO1J2B0
60
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- BCEIZ43ygknQW/2xzQ+DhNQ+IIX3Sj0rnP0qCglN6oH4EZw=
69
- -----END CERTIFICATE-----
70
-
71
40
  NetLock Arany (Class Gold) Főtanúsítvány
72
41
  ========================================
73
42
  -----BEGIN CERTIFICATE-----
@@ -585,27 +554,6 @@ vNoBYimipidx5joifsFvHZVwIEoHNN/q/xWA5brXethbdXwFeilHfkCoMRN3zUA7tFFHei4R40cR
585
554
  9noHV8cigwUtPJslJj0Ys6lDfMjIq2SPDqO/nBudMNva0Bkuqjzx+zOAduTNrRlPBSeOE6Fuwg==
586
555
  -----END CERTIFICATE-----
587
556
 
588
- Atos TrustedRoot 2011
589
- =====================
590
- -----BEGIN CERTIFICATE-----
591
- MIIDdzCCAl+gAwIBAgIIXDPLYixfszIwDQYJKoZIhvcNAQELBQAwPDEeMBwGA1UEAwwVQXRvcyBU
592
- cnVzdGVkUm9vdCAyMDExMQ0wCwYDVQQKDARBdG9zMQswCQYDVQQGEwJERTAeFw0xMTA3MDcxNDU4
593
- MzBaFw0zMDEyMzEyMzU5NTlaMDwxHjAcBgNVBAMMFUF0b3MgVHJ1c3RlZFJvb3QgMjAxMTENMAsG
594
- A1UECgwEQXRvczELMAkGA1UEBhMCREUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCV
595
- hTuXbyo7LjvPpvMpNb7PGKw+qtn4TaA+Gke5vJrf8v7MPkfoepbCJI419KkM/IL9bcFyYie96mvr
596
- 54rMVD6QUM+A1JX76LWC1BTFtqlVJVfbsVD2sGBkWXppzwO3bw2+yj5vdHLqqjAqc2K+SZFhyBH+
597
- DgMq92og3AIVDV4VavzjgsG1xZ1kCWyjWZgHJ8cblithdHFsQ/H3NYkQ4J7sVaE3IqKHBAUsR320
598
- HLliKWYoyrfhk/WklAOZuXCFteZI6o1Q/NnezG8HDt0Lcp2AMBYHlT8oDv3FdU9T1nSatCQujgKR
599
- z3bFmx5VdJx4IbHwLfELn8LVlhgf8FQieowHAgMBAAGjfTB7MB0GA1UdDgQWBBSnpQaxLKYJYO7R
600
- l+lwrrw7GWzbITAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFKelBrEspglg7tGX6XCuvDsZ
601
- bNshMBgGA1UdIAQRMA8wDQYLKwYBBAGwLQMEAQEwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEB
602
- CwUAA4IBAQAmdzTblEiGKkGdLD4GkGDEjKwLVLgfuXvTBznk+j57sj1O7Z8jvZfza1zv7v1Apt+h
603
- k6EKhqzvINB5Ab149xnYJDE0BAGmuhWawyfc2E8PzBhj/5kPDpFrdRbhIfzYJsdHt6bPWHJxfrrh
604
- TZVHO8mvbaG0weyJ9rQPOLXiZNwlz6bb65pcmaHFCN795trV1lpFDMS3wrUU77QR/w4VtfX128a9
605
- 61qn8FYiqTxlVMYVqL2Gns2Dlmh6cYGJ4Qvh6hEbaAjMaZ7snkGeRDImeuKHCnE96+RapNLbxc3G
606
- 3mB/ufNPRJLvKrcYPqcZ2Qt9sTdBQrC6YB3y/gkRsPCHe6ed
607
- -----END CERTIFICATE-----
608
-
609
557
  QuoVadis Root CA 1 G3
610
558
  =====================
611
559
  -----BEGIN CERTIFICATE-----
@@ -2908,3 +2856,95 @@ CgYIKoZIzj0EAwQDgYsAMIGHAkIBLdqu9S54tma4n7Zwf2Z0z+yOfP7AAXmazlIC58PRDHpty7Ve
2908
2856
  7hekm9sEdu4pKeiv+62sUvTXK9Z3hBC9xdIoaDQCQTV2WnXzkoYI9bIeCvZlC9p2x1L/Cx6AcCIw
2909
2857
  wzPbGO2E14vs7dOoY4G1VnxHx1YwlGhza9IuqbnZLBwpvQy6uWWL
2910
2858
  -----END CERTIFICATE-----
2859
+
2860
+ SECOM TLS RSA Root CA 2024
2861
+ ==========================
2862
+ -----BEGIN CERTIFICATE-----
2863
+ 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
2888
+ MLAh+wwKZfqb94nMeQ==
2889
+ -----END CERTIFICATE-----
2890
+
2891
+ SECOM TLS ECC Root CA 2024
2892
+ ==========================
2893
+ -----BEGIN CERTIFICATE-----
2894
+ MIICTDCCAdGgAwIBAgIJAIF6LO+PI3pEMAoGCCqGSM49BAMDMFoxCzAJBgNVBAYTAkpQMSYwJAYD
2895
+ VQQKEx1TRUNPTSBUcnVzdCBTeXN0ZW1zIENvLiwgTHRkLjEjMCEGA1UEAxMaU0VDT00gVExTIEVD
2896
+ QyBSb290IENBIDIwMjQwHhcNMjQwMTMxMDU1MjM0WhcNNDkwMTE0MDU1MjM0WjBaMQswCQYDVQQG
2897
+ EwJKUDEmMCQGA1UEChMdU0VDT00gVHJ1c3QgU3lzdGVtcyBDby4sIEx0ZC4xIzAhBgNVBAMTGlNF
2898
+ Q09NIFRMUyBFQ0MgUm9vdCBDQSAyMDI0MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE7NzFMtu9dzQX
2899
+ SNC12fabk0+GlC5finB3R7XaZonRUd20aFiWObtuNBCLUZSfk6QXAE55BjEXsXQ/NG8yUqicXjsu
2900
+ 9ksDK3JZBgCwLOVh6+nwJXTvso/dEj/GUYH5mBdoo2MwYTAdBgNVHQ4EFgQUO3YReyl04k4GTFaC
2901
+ QNAhL3qzydUwHwYDVR0jBBgwFoAUO3YReyl04k4GTFaCQNAhL3qzydUwDgYDVR0PAQH/BAQDAgEG
2902
+ MA8GA1UdEwEB/wQFMAMBAf8wCgYIKoZIzj0EAwMDaQAwZgIxAN3ib8fi1pMYtAPjMilB5e5/H+t5
2903
+ CL0xPL+cZ5oTTZuSCjpAn1v7F/VAr8bFxQXAowIxAKsBVO1ACFp7skwzPvdv1EUY5a897WGLT4lb
2904
+ +bjxFAWyl8wDcZJdwGZ/pAHxt1AJ1g==
2905
+ -----END CERTIFICATE-----
2906
+
2907
+ Telia EC TLS Root CA v3
2908
+ =======================
2909
+ -----BEGIN CERTIFICATE-----
2910
+ MIICMjCCAbegAwIBAgIPAYvSIlRjTQSLbOVHH9K1MAoGCCqGSM49BAMDMEoxCzAJBgNVBAYTAlNF
2911
+ MRkwFwYDVQQKDBBUZWxpYSBDb21wYW55IEFCMSAwHgYDVQQDDBdUZWxpYSBFQyBUTFMgUm9vdCBD
2912
+ QSB2MzAeFw0yMzExMTUwODU1MjZaFw00ODA1MjMxMTAwMDBaMEoxCzAJBgNVBAYTAlNFMRkwFwYD
2913
+ VQQKDBBUZWxpYSBDb21wYW55IEFCMSAwHgYDVQQDDBdUZWxpYSBFQyBUTFMgUm9vdCBDQSB2MzB2
2914
+ MBAGByqGSM49AgEGBSuBBAAiA2IABMHIlhVDLbmFKUpW0iK4dpryT6emYOeS31JPwWnWPmkWRrAk
2915
+ TbPX40sQfHI9mpR7Rbktu3ngg6W+BBSXSechtMCnBmWXj/EaVlmV5cY1jD2HoTfhBQ3AacpCNMLJ
2916
+ K4NpZaNjMGEwHwYDVR0jBBgwFoAU1GToQ4g6cy/QGnGCNgtehd7H3kMwHQYDVR0OBBYEFNRk6EOI
2917
+ OnMv0BpxgjYLXoXex95DMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MAoGCCqGSM49
2918
+ BAMDA2kAMGYCMQCXAUdS/9bbJ8A1JYaGf/bWt/s7Ta0ot5Ulno8OjSNYRWQIlS4tVWldvTAVA7he
2919
+ OFgCMQCvKr8+Z2Rn+OBr5UHzlgBObpad1LuwNTRcdNgUJxIWadcki+UBLEi1/AURKV5md2M=
2920
+ -----END CERTIFICATE-----
2921
+
2922
+ Telia RSA TLS Root CA v3
2923
+ ========================
2924
+ -----BEGIN CERTIFICATE-----
2925
+ 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
2950
+ -----END CERTIFICATE-----
@@ -97,6 +97,29 @@ module TebakoRuntime
97
97
 
98
98
  is_quoted ? memfs_extracted_file.to_path.quote : memfs_extracted_file.to_path
99
99
  end
100
+
101
+ # The mounted-toolkit resolution (spec 03 §2.2): an executable the
102
+ # named toolkit payload provides at its declared mount. Returns the
103
+ # in-image absolute path when the mounts hold it (the spawn hook
104
+ # execs those through dlmap2file + the preload), the bare name
105
+ # otherwise (the consumer's PATH answer stands).
106
+ #
107
+ # TebakoRuntime.mounted_exe("openjdk", "java")
108
+ # # => "/opt/openjdk/bin/java" when the openjdk payload is mounted,
109
+ # else "java"
110
+ def self.mounted_exe(toolkit, name)
111
+ mounted = "/opt/#{toolkit}/bin/#{name}"
112
+ embedded_path?(mounted) ? mounted : name
113
+ end
114
+
115
+ # Shell-word split for the array spawn (the memfs-binary exec path):
116
+ # legacy adapters compose arguments as a SHELL fragment in ONE element
117
+ # (`--param baseassetpath="/dir"`), and shell-quoted whole values ride
118
+ # as single elements. Split on unquoted spaces, then shed the quotes —
119
+ # exactly the shell's own word rules (a quoted space never splits).
120
+ def self.shell_split(word)
121
+ word.scan(/"([^"]*)"|(\S+)/).map { |quoted, bare| quoted || bare }
122
+ end
100
123
  end
101
124
 
102
125
  at_exit do
@@ -28,4 +28,7 @@
28
28
  # For some reason on Windows an attempt to require "seven_zip_ruby" from excavate fails
29
29
  # I cannot debug it effectively because of https://github.com/tamatebako/tebako/issues/119
30
30
 
31
- require "seven_zip_ruby"
31
+ # Only legacy excavate loads seven_zip_ruby; omnizip-era excavate has no
32
+ # seven-zip gem at all — wiring it then would crash the require chain
33
+ # with Gem::MissingSpecError (metanorma dogfood, 2026-08-11).
34
+ require "seven_zip_ruby" if Gem::Specification.find_all_by_name("seven-zip").any?
@@ -28,15 +28,20 @@
28
28
  require_relative "../memfs"
29
29
  require_relative "../../tebako-runtime"
30
30
 
31
- # Fix path for 7zip load
31
+ # Fix path for 7zip load.
32
+ # Legacy-excavate only: omnizip-era excavate ships no seven-zip gem —
33
+ # when it is absent there is nothing to excavate, so the hook is a
34
+ # no-op (never a Gem::MissingSpecError — metanorma dogfood, 2026-08-11).
32
35
  module TebakoRuntime
33
- sevenz_lib = RUBY_PLATFORM.downcase.match(/mswin|mingw/) ? "7z*.dll" : "7z.so"
34
- sevenz_path = File.join(full_gem_path("seven-zip"), "lib", "seven_zip_ruby", sevenz_lib)
35
- sevenz_paths = Dir.glob(sevenz_path)
36
- sevenz_new_folder = COMPILER_MEMFS_LIB_CACHE / "seven_zip_ruby"
37
- FileUtils.mkdir_p(sevenz_new_folder)
38
- sevenz_paths.each do |file|
39
- FileUtils.cp(file, sevenz_new_folder)
36
+ if Gem::Specification.find_all_by_name("seven-zip").any?
37
+ sevenz_lib = RUBY_PLATFORM.downcase.match(/mswin|mingw/) ? "7z*.dll" : "7z.so"
38
+ sevenz_path = File.join(full_gem_path("seven-zip"), "lib", "seven_zip_ruby", sevenz_lib)
39
+ sevenz_paths = Dir.glob(sevenz_path)
40
+ sevenz_new_folder = COMPILER_MEMFS_LIB_CACHE / "seven_zip_ruby"
41
+ FileUtils.mkdir_p(sevenz_new_folder)
42
+ sevenz_paths.each do |file|
43
+ FileUtils.cp(file, sevenz_new_folder)
44
+ end
45
+ $LOAD_PATH.unshift(COMPILER_MEMFS_LIB_CACHE.to_s)
40
46
  end
41
- $LOAD_PATH.unshift(COMPILER_MEMFS_LIB_CACHE.to_s)
42
47
  end
@@ -26,5 +26,5 @@
26
26
  # POSSIBILITY OF SUCH DAMAGE.
27
27
 
28
28
  module TebakoRuntime
29
- VERSION = "0.8.0"
29
+ VERSION = "0.8.2"
30
30
  end
@@ -42,11 +42,6 @@ module TebakoRuntime
42
42
  }.freeze
43
43
 
44
44
  POST_REQUIRE_MAP = {
45
- "ffi" => "tebako-runtime/adapters/ffi",
46
- "fiddle" => "tebako-runtime/adapters/fiddle",
47
- "jing" => "tebako-runtime/adapters/jing",
48
- "mn2pdf" => "tebako-runtime/adapters/mn2pdf",
49
- "mnconvert" => "tebako-runtime/adapters/mnconvert",
50
45
  "net/http" => "tebako-runtime/adapters/net-http",
51
46
  "sassc" => "tebako-runtime/adapters/sassc",
52
47
  "sinatra" => "tebako-runtime/adapters/sinatra"
@@ -62,9 +62,6 @@ Gem::Specification.new do |spec|
62
62
 
63
63
  spec.add_development_dependency "ffi", "~> 1.15"
64
64
  spec.add_development_dependency "fiddle", "~> 1.0"
65
- spec.add_development_dependency "mn2pdf", "~> 1.79"
66
- spec.add_development_dependency "mnconvert", "~> 1.54"
67
- spec.add_development_dependency "ruby-jing", "~> 0.0.3"
68
65
  spec.add_development_dependency "sassc", "~> 2.4"
69
66
  spec.add_development_dependency "simplecov"
70
67
  spec.add_development_dependency "simplecov-cobertura"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tebako-runtime
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0
4
+ version: 0.8.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
@@ -93,48 +93,6 @@ dependencies:
93
93
  - - "~>"
94
94
  - !ruby/object:Gem::Version
95
95
  version: '1.0'
96
- - !ruby/object:Gem::Dependency
97
- name: mn2pdf
98
- requirement: !ruby/object:Gem::Requirement
99
- requirements:
100
- - - "~>"
101
- - !ruby/object:Gem::Version
102
- version: '1.79'
103
- type: :development
104
- prerelease: false
105
- version_requirements: !ruby/object:Gem::Requirement
106
- requirements:
107
- - - "~>"
108
- - !ruby/object:Gem::Version
109
- version: '1.79'
110
- - !ruby/object:Gem::Dependency
111
- name: mnconvert
112
- requirement: !ruby/object:Gem::Requirement
113
- requirements:
114
- - - "~>"
115
- - !ruby/object:Gem::Version
116
- version: '1.54'
117
- type: :development
118
- prerelease: false
119
- version_requirements: !ruby/object:Gem::Requirement
120
- requirements:
121
- - - "~>"
122
- - !ruby/object:Gem::Version
123
- version: '1.54'
124
- - !ruby/object:Gem::Dependency
125
- name: ruby-jing
126
- requirement: !ruby/object:Gem::Requirement
127
- requirements:
128
- - - "~>"
129
- - !ruby/object:Gem::Version
130
- version: 0.0.3
131
- type: :development
132
- prerelease: false
133
- version_requirements: !ruby/object:Gem::Requirement
134
- requirements:
135
- - - "~>"
136
- - !ruby/object:Gem::Version
137
- version: 0.0.3
138
96
  - !ruby/object:Gem::Dependency
139
97
  name: sassc
140
98
  requirement: !ruby/object:Gem::Requirement
@@ -208,11 +166,6 @@ files:
208
166
  - bin/setup
209
167
  - lib/cert/cacert.pem.mozilla
210
168
  - lib/tebako-runtime.rb
211
- - lib/tebako-runtime/adapters/ffi.rb
212
- - lib/tebako-runtime/adapters/fiddle.rb
213
- - lib/tebako-runtime/adapters/jing.rb
214
- - lib/tebako-runtime/adapters/mn2pdf.rb
215
- - lib/tebako-runtime/adapters/mnconvert.rb
216
169
  - lib/tebako-runtime/adapters/net-http.rb
217
170
  - lib/tebako-runtime/adapters/sassc.rb
218
171
  - lib/tebako-runtime/adapters/sinatra.rb
@@ -1,40 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # Copyright (c) 2023 [Ribose Inc](https://www.ribose.com).
4
- # All rights reserved.
5
- # This file is a part of the Tebako project.
6
- #
7
- # Redistribution and use in source and binary forms, with or without
8
- # modification, are permitted provided that the following conditions
9
- # are met:
10
- # 1. Redistributions of source code must retain the above copyright
11
- # notice, this list of conditions and the following disclaimer.
12
- # 2. Redistributions in binary form must reproduce the above copyright
13
- # notice, this list of conditions and the following disclaimer in the
14
- # documentation and/or other materials provided with the distribution.
15
- #
16
- # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
17
- # ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
18
- # TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
19
- # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS
20
- # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21
- # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22
- # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23
- # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24
- # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25
- # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26
- # POSSIBILITY OF SUCH DAMAGE.
27
-
28
- require_relative "../memfs"
29
-
30
- # Wrapper for FFI.map_library_name method
31
- # If the library file to be mapped to is within memfs it is extracted to tmp folder
32
- module FFI
33
- # https://stackoverflow.com/questions/29907157/how-to-alias-a-class-method-in-rails-model/29907207
34
- singleton_class.send(:alias_method, :map_library_name_orig, :map_library_name)
35
-
36
- # http://tech.tulentsev.com/2012/02/ruby-how-to-override-class-method-with-a-module/
37
- def self.map_library_name(lib)
38
- map_library_name_orig(TebakoRuntime.extract_memfs(lib))
39
- end
40
- end
@@ -1,38 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # Copyright (c) 2024 [Ribose Inc](https://www.ribose.com).
4
- # All rights reserved.
5
- # This file is a part of the Tebako project.
6
- #
7
- # Redistribution and use in source and binary forms, with or without
8
- # modification, are permitted provided that the following conditions
9
- # are met:
10
- # 1. Redistributions of source code must retain the above copyright
11
- # notice, this list of conditions and the following disclaimer.
12
- # 2. Redistributions in binary form must reproduce the above copyright
13
- # notice, this list of conditions and the following disclaimer in the
14
- # documentation and/or other materials provided with the distribution.
15
- #
16
- # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
17
- # ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
18
- # TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
19
- # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS
20
- # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21
- # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22
- # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23
- # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24
- # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25
- # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26
- # POSSIBILITY OF SUCH DAMAGE.
27
-
28
- require_relative "../memfs"
29
-
30
- # Wrapper for Fiddle.dlopen method
31
- # If the library file to be mapped to is within memfs it is extracted to tmp folder
32
- module Fiddle
33
- singleton_class.send(:alias_method, :dlopen_orig, :dlopen)
34
-
35
- def self.dlopen(lib)
36
- dlopen_orig(TebakoRuntime.extract_memfs(lib))
37
- end
38
- end
@@ -1,49 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # Copyright (c) 2023 [Ribose Inc](https://www.ribose.com).
4
- # All rights reserved.
5
- # This file is a part of the Tebako project.
6
- #
7
- # Redistribution and use in source and binary forms, with or without
8
- # modification, are permitted provided that the following conditions
9
- # are met:
10
- # 1. Redistributions of source code must retain the above copyright
11
- # notice, this list of conditions and the following disclaimer.
12
- # 2. Redistributions in binary form must reproduce the above copyright
13
- # notice, this list of conditions and the following disclaimer in the
14
- # documentation and/or other materials provided with the distribution.
15
- #
16
- # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
17
- # ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
18
- # TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
19
- # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS
20
- # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21
- # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22
- # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23
- # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24
- # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25
- # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26
- # POSSIBILITY OF SUCH DAMAGE.
27
-
28
- # Unpack jing.jar
29
- class Jing
30
- tmp = DEFAULT_JAR
31
- remove_const("DEFAULT_JAR") if const_defined?("DEFAULT_JAR")
32
- DEFAULT_JAR = TebakoRuntime.extract_memfs(tmp)
33
-
34
- alias original_initialize initialize
35
- alias original_validate validate
36
-
37
- def initialize(schema, options = nil)
38
- original_initialize(TebakoRuntime.extract_memfs(schema, wild: true), options)
39
- # ruby-jing captures `:default => DEFAULT_JAR` at class-load time —
40
- # before this adapter replaced the constant with the extracted host
41
- # path. Force the extracted path per-instance (a nil option hash
42
- # leaves @options empty, and the builder's stale default would win).
43
- @options[:jar] = DEFAULT_JAR
44
- end
45
-
46
- def validate(xml)
47
- original_validate(TebakoRuntime.extract_memfs(xml))
48
- end
49
- end
@@ -1,57 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # Copyright (c) 2023 [Ribose Inc](https://www.ribose.com).
4
- # All rights reserved.
5
- # This file is a part of the Tebako project.
6
- #
7
- # Redistribution and use in source and binary forms, with or without
8
- # modification, are permitted provided that the following conditions
9
- # are met:
10
- # 1. Redistributions of source code must retain the above copyright
11
- # notice, this list of conditions and the following disclaimer.
12
- # 2. Redistributions in binary form must reproduce the above copyright
13
- # notice, this list of conditions and the following disclaimer in the
14
- # documentation and/or other materials provided with the distribution.
15
- #
16
- # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
17
- # ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
18
- # TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
19
- # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS
20
- # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21
- # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22
- # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23
- # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24
- # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25
- # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26
- # POSSIBILITY OF SUCH DAMAGE.
27
-
28
- # Unpack mn2pdf.jar
29
-
30
- module TebakoRuntime
31
- MN2PDF_J_PATH = TebakoRuntime.extract_memfs(File.join(TebakoRuntime.full_gem_path("mn2pdf"), "bin",
32
- "mn2pdf.jar"))
33
- end
34
-
35
- if Mn2pdf.const_defined?("MN2PDF_JAR_PATH")
36
- module Mn2pdf
37
- remove_const("MN2PDF_JAR_PATH")
38
- MN2PDF_JAR_PATH = TebakoRuntime::MN2PDF_J_PATH
39
- end
40
- end
41
-
42
- if Jvm.const_defined?("MN2PDF_JAR_PATH")
43
- module Jvm
44
- remove_const("MN2PDF_JAR_PATH")
45
- MN2PDF_JAR_PATH = TebakoRuntime::MN2PDF_J_PATH
46
- end
47
- end
48
-
49
- module Mn2pdf
50
- singleton_class.send(:alias_method, :convert_orig, :convert)
51
- singleton_class.send(:remove_method, :convert)
52
-
53
- def self.convert(url_path, output_path, xsl_stylesheet, options)
54
- convert_orig(TebakoRuntime.extract_memfs(url_path), output_path, TebakoRuntime.extract_memfs(xsl_stylesheet),
55
- options)
56
- end
57
- end
@@ -1,41 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # Copyright (c) 2023 [Ribose Inc](https://www.ribose.com).
4
- # All rights reserved.
5
- # This file is a part of the Tebako project.
6
- #
7
- # Redistribution and use in source and binary forms, with or without
8
- # modification, are permitted provided that the following conditions
9
- # are met:
10
- # 1. Redistributions of source code must retain the above copyright
11
- # notice, this list of conditions and the following disclaimer.
12
- # 2. Redistributions in binary form must reproduce the above copyright
13
- # notice, this list of conditions and the following disclaimer in the
14
- # documentation and/or other materials provided with the distribution.
15
- #
16
- # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
17
- # ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
18
- # TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
19
- # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS
20
- # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21
- # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22
- # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23
- # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24
- # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25
- # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26
- # POSSIBILITY OF SUCH DAMAGE.
27
-
28
- # Unpack mn2pdf.jar
29
- module MnConvert
30
- remove_const("MNCONVERT_JAR_PATH") if const_defined?("MNCONVERT_JAR_PATH")
31
- MNCONVERT_JAR_PATH = TebakoRuntime.extract_memfs(File.join(TebakoRuntime.full_gem_path("mnconvert"), "bin",
32
- "mnconvert.jar"))
33
-
34
- singleton_class.send(:alias_method, :convert_orig, :convert)
35
- singleton_class.send(:remove_method, :convert)
36
-
37
- def self.convert(input_file, opts = {})
38
- opts[:xsl_file] = TebakoRuntime.extract_memfs(opts[:xsl_file]) if opts[:xsl_file]
39
- convert_orig(TebakoRuntime.extract_memfs(input_file), opts)
40
- end
41
- end