tebako-runtime 0.5.0 → 0.5.1

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: '097d5286d2407698d42ea62673f8ecb003f02ec6977d980ea399f7b50fbb97e5'
4
+ data.tar.gz: a7983b403f626a3f6b92a0f8d893fccadf4933c03cf13b2ebb306f221be20cae
5
5
  SHA512:
6
- metadata.gz: e2976dc28c3793366ccc132ff020a997fc7a8c7636ee5993c6a4d9bc984d6f3dc0b7ad21aef1daff56459c9df3848a00250d6d1f376264817005b1593e51fb4f
7
- data.tar.gz: b4d8e87877ae1526a98d90fe8bb948ec6f1f6d547dd4d07c573a0e89acfb33dd83db6e4ca4dfb66642c5924664e6bf0b61a6fc1ab1a0aa4faf2d089ccae3658c
6
+ metadata.gz: aba554f750356e8445d4cc0f4dc4d41b5af24058ebda5a7d6c1ac7ddadd82a5032903b6411023a61369def5e904b02ac71b2395a64f8e08624cb8eb5ec4ecbec
7
+ data.tar.gz: 6f9ff5b865e68681dec9dc25cf7211c7e0c733e126c734be496a00bf168bfd00c4625df26fccfd367ce68895148e2a0e6a96a4d08be7a8a526b1c08d722456b1
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
@@ -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.1"
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
 
@@ -79,10 +80,10 @@ module TebakoRuntime
79
80
  # It targets ffi-compiler/ffi-compiler2 that use some functions of
80
81
  # deployed ffi to process other gems
81
82
  # THis approach is not compatible with tebako on Windows because ffi
82
- # is deployed with (inplib) reference to target tebako package that is
83
+ # is deployed with (implib) reference to target tebako package that is
83
84
  # not available at deploy time
84
85
  def self.process_pass_through(name)
85
- if name == "ffi" && RUBY_PLATFORM =~ /msys|mingw|cygwin/
86
+ if name == "ffi" && RUBY_PLATFORM =~ /mswin|mingw/
86
87
  puts "Replacing ffi ffi-platform-stub" if log_enabled
87
88
  res = original_require "tebako-runtime/pass-through/ffi-platform-stub"
88
89
  else
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.1
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-06-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -161,6 +161,7 @@ files:
161
161
  - lib/tebako-runtime/adapters/sassc.rb
162
162
  - lib/tebako-runtime/memfs.rb
163
163
  - lib/tebako-runtime/pass-through/ffi-platform-stub.rb
164
+ - lib/tebako-runtime/pre/excavate.rb
164
165
  - lib/tebako-runtime/pre/seven-zip.rb
165
166
  - lib/tebako-runtime/string.rb
166
167
  - lib/tebako-runtime/version.rb
@@ -186,7 +187,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
186
187
  - !ruby/object:Gem::Version
187
188
  version: '0'
188
189
  requirements: []
189
- rubygems_version: 3.5.9
190
+ rubygems_version: 3.5.11
190
191
  signing_key:
191
192
  specification_version: 4
192
193
  summary: Run-time support of tebako executable packager