tebako-runtime 0.5.0 → 0.5.2.rc1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 472fccda8a91bb1aee5a55ea9c61b9d2a18461ec8d825a2b7184bc69cd557dd9
4
- data.tar.gz: 95e7140e5ebbbaf85badedcad10298b4ec0feb538b38989dbb9348c47eff24ca
3
+ metadata.gz: eabcde8e5e440ae2582dbaf9dd27b6629f94e4cc40816bfa3e853d19be923ac3
4
+ data.tar.gz: d42627839cc22d1684608c66a185b285b5a4388544df7bd6055e6184a9afc197
5
5
  SHA512:
6
- metadata.gz: e2976dc28c3793366ccc132ff020a997fc7a8c7636ee5993c6a4d9bc984d6f3dc0b7ad21aef1daff56459c9df3848a00250d6d1f376264817005b1593e51fb4f
7
- data.tar.gz: b4d8e87877ae1526a98d90fe8bb948ec6f1f6d547dd4d07c573a0e89acfb33dd83db6e4ca4dfb66642c5924664e6bf0b61a6fc1ab1a0aa4faf2d089ccae3658c
6
+ metadata.gz: b1d5aa196da1f5a6699db80bc20f1992b03ef84526dd37cd7e5e1effc14ac86368bf617f79cf8670f49e02524c2fc8cbd403b8cf69b55039fc26075512640475
7
+ data.tar.gz: 4a695d832eec314191048b883ffbb67a24ddd82968da5c80df9a5f1f870a109b931d475efbe56378723d5bd8aa6a1a375f3ec3e232426525ac1b348fe50b519c
data/Rakefile CHANGED
@@ -35,14 +35,17 @@ require "fileutils"
35
35
  namespace :build do
36
36
  desc "Download cacert.pem"
37
37
  task :download_cacert do
38
- url = URI("https://curl.se/ca/cacert.pem")
39
- FileUtils.mkdir_p("lib/cert")
40
- Net::HTTP.start(url.host, url.port, use_ssl: url.scheme == "https") do |http|
41
- request = Net::HTTP::Get.new url
42
- http.request request do |response|
43
- open "lib/cert/cacert.pem.mozilla", "w" do |io|
44
- response.read_body do |chunk|
45
- io.write chunk
38
+ unless File.exist?("lib/cert/cacert.pem.mozilla")
39
+
40
+ url = URI("https://curl.se/ca/cacert.pem")
41
+ FileUtils.mkdir_p("lib/cert")
42
+ Net::HTTP.start(url.host, url.port, use_ssl: url.scheme == "https") do |http|
43
+ request = Net::HTTP::Get.new url
44
+ http.request request do |response|
45
+ open "lib/cert/cacert.pem.mozilla", "w" do |io|
46
+ response.read_body do |chunk|
47
+ io.write chunk
48
+ end
46
49
  end
47
50
  end
48
51
  end
@@ -52,7 +55,9 @@ end
52
55
 
53
56
  task build: "build:download_cacert"
54
57
 
55
- task default: ["build:download_cacert", :spec]
58
+ task spec: "build:download_cacert"
59
+
60
+ task default: :spec
56
61
 
57
62
  RSpec::Core::RakeTask.new(:spec)
58
63
  RuboCop::RakeTask.new
@@ -1,7 +1,7 @@
1
1
  ##
2
2
  ## Bundle of CA Root Certificates
3
3
  ##
4
- ## Certificate data from Mozilla as of: Mon Mar 11 15:25:27 2024 GMT
4
+ ## Certificate data from Mozilla as of: Tue Jul 2 03:12:04 2024 GMT
5
5
  ##
6
6
  ## This is a bundle of X.509 certificates of public Certificate Authorities
7
7
  ## (CA). These were automatically extracted from Mozilla's root certificates
@@ -14,7 +14,7 @@
14
14
  ## Just configure this file as the SSLCACertificateFile.
15
15
  ##
16
16
  ## Conversion done with mk-ca-bundle.pl version 1.29.
17
- ## SHA256: 4d96bd539f4719e9ace493757afbe4a23ee8579de1c97fbebc50bba3c12e8c1e
17
+ ## SHA256: 456ff095dde6dd73354c5c28c73d9c06f53b61a803963414cb91a1d92945cdd3
18
18
  ##
19
19
 
20
20
 
@@ -2600,36 +2600,6 @@ vLtoURMMA/cVi4RguYv/Uo7njLwcAjA8+RHUjE7AwWHCFUyqqx0LMV87HOIAl0Qx5v5zli/altP+
2600
2600
  CAezNIm8BZ/3Hobui3A=
2601
2601
  -----END CERTIFICATE-----
2602
2602
 
2603
- GLOBALTRUST 2020
2604
- ================
2605
- -----BEGIN CERTIFICATE-----
2606
- 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
- IzAhBgNVBAoTGmUtY29tbWVyY2UgbW9uaXRvcmluZyBHbWJIMRkwFwYDVQQDExBHTE9CQUxUUlVT
2608
- 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
- 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
- MDIwMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAri5WrRsc7/aVj6B3GyvTY4+ETUWi
2611
- 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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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
- 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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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
2631
- -----END CERTIFICATE-----
2632
-
2633
2603
  ANF Secure Server Root CA
2634
2604
  =========================
2635
2605
  -----BEGIN CERTIFICATE-----
@@ -3579,3 +3549,20 @@ wPfc5+pbrrLMtTWGS9DiP7bY+A4A7l3j941Y/8+LN+ljX273CXE2whJdV/LItM3z7gLfEdxquVeE
3579
3549
  HVlNjM7IDiPCtyaaEBRx/pOyiriA8A4QntOoUAw3gi/q4Iqd4Sw5/7W0cwDk90imc6y/st53BIe0
3580
3550
  o82bNSQ3+pCTE4FCxpgmdTdmQRCsu/WU48IxK63nI1bMNSWSs1A=
3581
3551
  -----END CERTIFICATE-----
3552
+
3553
+ FIRMAPROFESIONAL CA ROOT-A WEB
3554
+ ==============================
3555
+ -----BEGIN CERTIFICATE-----
3556
+ MIICejCCAgCgAwIBAgIQMZch7a+JQn81QYehZ1ZMbTAKBggqhkjOPQQDAzBuMQswCQYDVQQGEwJF
3557
+ UzEcMBoGA1UECgwTRmlybWFwcm9mZXNpb25hbCBTQTEYMBYGA1UEYQwPVkFURVMtQTYyNjM0MDY4
3558
+ MScwJQYDVQQDDB5GSVJNQVBST0ZFU0lPTkFMIENBIFJPT1QtQSBXRUIwHhcNMjIwNDA2MDkwMTM2
3559
+ WhcNNDcwMzMxMDkwMTM2WjBuMQswCQYDVQQGEwJFUzEcMBoGA1UECgwTRmlybWFwcm9mZXNpb25h
3560
+ bCBTQTEYMBYGA1UEYQwPVkFURVMtQTYyNjM0MDY4MScwJQYDVQQDDB5GSVJNQVBST0ZFU0lPTkFM
3561
+ IENBIFJPT1QtQSBXRUIwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAARHU+osEaR3xyrq89Zfe9MEkVz6
3562
+ iMYiuYMQYneEMy3pA4jU4DP37XcsSmDq5G+tbbT4TIqk5B/K6k84Si6CcyvHZpsKjECcfIr28jlg
3563
+ st7L7Ljkb+qbXbdTkBgyVcUgt5SjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUk+FD
3564
+ Y1w8ndYn81LsF7Kpryz3dvgwHQYDVR0OBBYEFJPhQ2NcPJ3WJ/NS7Beyqa8s93b4MA4GA1UdDwEB
3565
+ /wQEAwIBBjAKBggqhkjOPQQDAwNoADBlAjAdfKR7w4l1M+E7qUW/Runpod3JIha3RxEL2Jq68cgL
3566
+ cFBTApFwhVmpHqTm6iMxoAACMQD94vizrxa5HnPEluPBMBnYfubDl94cT7iJLzPrSA8Z94dGXSaQ
3567
+ pYXFuXqUPoeovQA=
3568
+ -----END CERTIFICATE-----
@@ -0,0 +1,46 @@
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 tebako
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
+ module Sinatra
29
+ class Application
30
+ # Alias the original caller_files method to keep a reference to it
31
+ class << self
32
+ alias original_caller_files caller_files
33
+
34
+ def caller_files
35
+ # Call the original caller_files method to get the original array
36
+ original_list = original_caller_files
37
+ # Filter out entries ending with 'tebako-runtime'
38
+ original_list.reject { |file| file.end_with?("tebako-runtime.rb") }
39
+ end
40
+ end
41
+ # Overwrite :app_file setting after caller_files has been redefined
42
+ # originally defined as 'set :app_file, caller_files.first || $0' in Sinatra::Base
43
+ # so it does not necessarily point to 'tebak-runtime.rb'
44
+ set :app_file, caller_files.first if app_file.end_with?("tebako-runtime.rb")
45
+ end
46
+ end
@@ -35,7 +35,7 @@ require_relative "string"
35
35
  # Module TebakoRuntime
36
36
  # Methods to extract files from memfs to temporary folder
37
37
  module TebakoRuntime
38
- COMPILER_MEMFS = RUBY_PLATFORM =~ /msys|mingw|cygwin/ ? "A:/__tebako_memfs__" : "/__tebako_memfs__"
38
+ COMPILER_MEMFS = RUBY_PLATFORM =~ /mswin|mingw/ ? "A:/__tebako_memfs__" : "/__tebako_memfs__"
39
39
  COMPILER_MEMFS_LIB_CACHE = Pathname.new(Dir.mktmpdir("tebako-runtime-"))
40
40
 
41
41
  class << self
@@ -0,0 +1,31 @@
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 tebako
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
+ # For some reason on Windows an attempt to require "seven_zip_ruby" from excavate fails
29
+ # I cannot debug it effectively because of https://github.com/tamatebako/tebako/issues/119
30
+
31
+ require "seven_zip_ruby"
@@ -32,10 +32,11 @@ require_relative "../../tebako-runtime"
32
32
  module TebakoRuntime
33
33
  sevenz_lib = RUBY_PLATFORM.downcase.match(/mswin|mingw/) ? "7z*.dll" : "7z.so"
34
34
  sevenz_path = File.join(full_gem_path("seven-zip"), "lib", "seven_zip_ruby", sevenz_lib)
35
+ sevenz_paths = Dir.glob(sevenz_path)
35
36
  sevenz_new_folder = COMPILER_MEMFS_LIB_CACHE / "seven_zip_ruby"
36
37
  FileUtils.mkdir_p(sevenz_new_folder)
37
- Dir.glob(sevenz_path).each do |file|
38
+ sevenz_paths.each do |file|
38
39
  FileUtils.cp(file, sevenz_new_folder)
39
40
  end
40
- $LOAD_PATH.unshift(COMPILER_MEMFS_LIB_CACHE)
41
+ $LOAD_PATH.unshift(COMPILER_MEMFS_LIB_CACHE.to_s)
41
42
  end
@@ -26,5 +26,5 @@
26
26
  # POSSIBILITY OF SUCH DAMAGE.
27
27
 
28
28
  module TebakoRuntime
29
- VERSION = "0.5.0"
29
+ VERSION = "0.5.2.rc1"
30
30
  end
@@ -37,6 +37,7 @@ require_relative "tebako-runtime/memfs"
37
37
  # - an option to implement adapter 'AFTER'
38
38
  module TebakoRuntime
39
39
  PRE_REQUIRE_MAP = {
40
+ "excavate" => "tebako-runtime/pre/excavate",
40
41
  "seven_zip_ruby" => "tebako-runtime/pre/seven-zip"
41
42
  }.freeze
42
43
 
@@ -46,7 +47,8 @@ module TebakoRuntime
46
47
  "mn2pdf" => "tebako-runtime/adapters/mn2pdf",
47
48
  "mnconvert" => "tebako-runtime/adapters/mnconvert",
48
49
  "net/http" => "tebako-runtime/adapters/net-http",
49
- "sassc" => "tebako-runtime/adapters/sassc"
50
+ "sassc" => "tebako-runtime/adapters/sassc",
51
+ "sinatra" => "tebako-runtime/adapters/sinatra"
50
52
  }.freeze
51
53
 
52
54
  def self.full_gem_path(gem)
@@ -79,10 +81,10 @@ module TebakoRuntime
79
81
  # It targets ffi-compiler/ffi-compiler2 that use some functions of
80
82
  # deployed ffi to process other gems
81
83
  # THis approach is not compatible with tebako on Windows because ffi
82
- # is deployed with (inplib) reference to target tebako package that is
84
+ # is deployed with (implib) reference to target tebako package that is
83
85
  # not available at deploy time
84
86
  def self.process_pass_through(name)
85
- if name == "ffi" && RUBY_PLATFORM =~ /msys|mingw|cygwin/
87
+ if name == "ffi" && RUBY_PLATFORM =~ /mswin|mingw/
86
88
  puts "Replacing ffi ffi-platform-stub" if log_enabled
87
89
  res = original_require "tebako-runtime/pass-through/ffi-platform-stub"
88
90
  else
@@ -65,4 +65,5 @@ Gem::Specification.new do |spec|
65
65
  spec.add_development_dependency "mnconvert", "~> 1.54"
66
66
  spec.add_development_dependency "ruby-jing", "~> 0.0.3"
67
67
  spec.add_development_dependency "sassc", "~> 2.4"
68
+ spec.add_development_dependency "sinatra", "~> 4.0"
68
69
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tebako-runtime
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.5.2.rc1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-06-02 00:00:00.000000000 Z
11
+ date: 2024-07-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -136,6 +136,20 @@ dependencies:
136
136
  - - "~>"
137
137
  - !ruby/object:Gem::Version
138
138
  version: '2.4'
139
+ - !ruby/object:Gem::Dependency
140
+ name: sinatra
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: '4.0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: '4.0'
139
153
  description: |
140
154
  Tebako (https://github.com/tamatebako/tebako) is an executable packager.
141
155
  tebako-runtime gem implements adapters for Ruby gems that shall be aware
@@ -159,8 +173,10 @@ files:
159
173
  - lib/tebako-runtime/adapters/mnconvert.rb
160
174
  - lib/tebako-runtime/adapters/net-http.rb
161
175
  - lib/tebako-runtime/adapters/sassc.rb
176
+ - lib/tebako-runtime/adapters/sinatra.rb
162
177
  - lib/tebako-runtime/memfs.rb
163
178
  - lib/tebako-runtime/pass-through/ffi-platform-stub.rb
179
+ - lib/tebako-runtime/pre/excavate.rb
164
180
  - lib/tebako-runtime/pre/seven-zip.rb
165
181
  - lib/tebako-runtime/string.rb
166
182
  - lib/tebako-runtime/version.rb
@@ -186,7 +202,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
186
202
  - !ruby/object:Gem::Version
187
203
  version: '0'
188
204
  requirements: []
189
- rubygems_version: 3.5.9
205
+ rubygems_version: 3.5.11
190
206
  signing_key:
191
207
  specification_version: 4
192
208
  summary: Run-time support of tebako executable packager