mini_portile2 2.7.1 → 2.8.0

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: 67e186927fefba71108ad1e3e0a0a27eb22c1baaeda1bb38c36f50f0257a7b26
4
- data.tar.gz: bc0caaea80c4c30c56cd1ad7cfe303558bb282cc2230267721f9e09475f08a4e
3
+ metadata.gz: 2602d6374f46f2b14904b287999ca7da911a08b28fa75517e220796847cd9496
4
+ data.tar.gz: 450fc92cc01ae557e8ab7f43ddd241d479496160c2f759969531cfa6003321fd
5
5
  SHA512:
6
- metadata.gz: 0e9002455f2167d020f68386b628571d796f5ae3d1bc51b35b0dc17435de9ba520e6486cfe308cf70315d46fd8237c745befbb689b93d39c1624a461ff9a98af
7
- data.tar.gz: d659050137d5deb3342ad9e026c0e66a7cbd030a15b9fd7133a4b653023ec552e38769705dfb5bf6fdc83170a8ed53519cd1c9157fadaa0b91eef6ef0855cc7c
6
+ metadata.gz: 7ccfdbbb591033e43b155be58a3dd72145886a7c5b38e7f7ba4009adee5b76b6b33d3ee80d7b1d66be7160eeb6ffdf4d87dbd11898b3f624c56d91c316969d13
7
+ data.tar.gz: 7bd90d3d534b25097e38d748f59286385010ee05f9f4ee06a38b844379bf8fe10b604fe013cc716aa9deab72a02d7e704ef045825acd370db198ec8f1ccb9bea
data/.github/FUNDING.yml CHANGED
@@ -1 +1,2 @@
1
- tidelift: "rubygems/mini_portile2"
1
+ github: flavorjones
2
+ tidelift: rubygems/mini_portile2
@@ -24,8 +24,8 @@ jobs:
24
24
  strategy:
25
25
  fail-fast: false
26
26
  matrix:
27
- platform: [ubuntu-latest, windows-latest]
28
- ruby: ["2.3", "2.4", "2.5", "2.6", "2.7", "3.0", "head"]
27
+ platform: [ubuntu-latest, windows-latest, macos-latest]
28
+ ruby: ["2.3", "2.4", "2.5", "2.6", "2.7", "3.0", "3.1", "head"]
29
29
  runs-on: ${{ matrix.platform }}
30
30
  steps:
31
31
  - name: configure git crlf on windows
@@ -48,8 +48,8 @@ jobs:
48
48
  strategy:
49
49
  fail-fast: false
50
50
  matrix:
51
- platform: [ubuntu-latest, windows-latest]
52
- ruby: ["3.0"]
51
+ platform: [ubuntu-latest, windows-latest, macos-latest]
52
+ ruby: ["3.1"]
53
53
  runs-on: ${{ matrix.platform }}
54
54
  steps:
55
55
  - name: configure git crlf on windows
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  ## mini_portile changelog
2
2
 
3
+ ### 2.8.0 / 2022-02-20
4
+
5
+ #### Added
6
+
7
+ - Support xz-compressed archives (recognized by an `.xz` file extension).
8
+ - When downloading a source archive, default open_timeout and read_timeout to 10 seconds, but allow configuration via open_timeout and read_timeout config parameters.
9
+
10
+
3
11
  ### 2.7.1 / 2021-10-20
4
12
 
5
13
  #### Packaging
@@ -9,7 +17,7 @@ A test artifact that has been included in the gem was being flagged by some user
9
17
 
10
18
  ### 2.7.0 / 2021-08-31
11
19
 
12
- ### Added
20
+ #### Added
13
21
 
14
22
  The commands used for "make", "compile", and "cmake" are configurable via keyword arguments. [#107] (Thanks, @cosmo0920!)
15
23
 
data/README.md CHANGED
@@ -115,6 +115,15 @@ You can pass it in like so:
115
115
  MiniPortile.new("libiconv", "1.13.1", make_command: "nmake")
116
116
  ```
117
117
 
118
+ #### `open_timeout`, `read_timeout`
119
+
120
+ By default, when downloading source archives, MiniPortile will use a timeout value of 10
121
+ seconds. This can be overridden by passing a different value (in seconds):
122
+
123
+ ``` ruby
124
+ MiniPortile.new("libiconv", "1.13.1", open_timeout: 99, read_timeout: 2)
125
+ ```
126
+
118
127
 
119
128
  ### How to use (for cmake projects)
120
129
 
@@ -138,6 +147,7 @@ You can pass it in like so:
138
147
  MiniPortileCMake.new("libfoobar", "1.3.5", cmake_command: "cmake3")
139
148
  ```
140
149
 
150
+
141
151
  ### Local source directories
142
152
 
143
153
  Instead of downloading a remote file, you can also point mini_portile2 at a local source
@@ -28,6 +28,8 @@ class Net::HTTP
28
28
  end
29
29
 
30
30
  class MiniPortile
31
+ DEFAULT_TIMEOUT = 10
32
+
31
33
  attr_reader :name, :version, :original_host
32
34
  attr_writer :configure_options
33
35
  attr_accessor :host, :files, :patch_files, :target, :logger, :source_directory
@@ -60,6 +62,8 @@ class MiniPortile
60
62
 
61
63
  @gcc_command = kwargs[:gcc_command]
62
64
  @make_command = kwargs[:make_command]
65
+ @open_timeout = kwargs[:open_timeout] || DEFAULT_TIMEOUT
66
+ @read_timeout = kwargs[:read_timeout] || DEFAULT_TIMEOUT
63
67
  end
64
68
 
65
69
  def source_directory=(path)
@@ -358,6 +362,8 @@ private
358
362
  'z'
359
363
  when '.bz2', '.tbz2'
360
364
  'j'
365
+ when '.xz'
366
+ 'J'
361
367
  when '.Z'
362
368
  'Z'
363
369
  else
@@ -512,7 +518,9 @@ private
512
518
  # Content-Length is unavailable because Transfer-Encoding is chunked
513
519
  message "\rDownloading %s " % [filename]
514
520
  end
515
- }
521
+ },
522
+ :open_timeout => @open_timeout,
523
+ :read_timeout => @read_timeout,
516
524
  }
517
525
  proxy_uri = URI.parse(url).scheme.downcase == 'https' ?
518
526
  ENV["https_proxy"] :
@@ -537,7 +545,7 @@ private
537
545
  return download_file(redirect.url, full_path, count-1)
538
546
  rescue => e
539
547
  count = count - 1
540
- puts "#{count} retrie(s) left for #{filename}"
548
+ puts "#{count} retrie(s) left for #{filename} (#{e.message})"
541
549
  if count > 0
542
550
  sleep 1
543
551
  return download_file_http(url, full_path, count)
@@ -564,7 +572,9 @@ private
564
572
  :progress_proc => lambda{|bytes|
565
573
  new_progress = (bytes * 100) / total
566
574
  message "\rDownloading %s (%3d%%) " % [filename, new_progress]
567
- }
575
+ },
576
+ :open_timeout => @open_timeout,
577
+ :read_timeout => @read_timeout,
568
578
  }
569
579
  if ENV["ftp_proxy"]
570
580
  _, userinfo, _p_host, _p_port = URI.split(ENV['ftp_proxy'])
@@ -1,3 +1,3 @@
1
1
  class MiniPortile
2
- VERSION = "2.7.1"
2
+ VERSION = "2.8.0"
3
3
  end
@@ -33,10 +33,10 @@ Gem::Specification.new do |spec|
33
33
 
34
34
  spec.required_ruby_version = ">= 2.3.0"
35
35
 
36
- spec.add_development_dependency "bundler", "~> 2.1"
37
- spec.add_development_dependency "minitar", "~> 0.7"
38
- spec.add_development_dependency "minitest", "~> 5.11"
39
- spec.add_development_dependency "minitest-hooks", "~> 1.5.0"
36
+ spec.add_development_dependency "bundler", "~> 2.3"
37
+ spec.add_development_dependency "minitar", "~> 0.9"
38
+ spec.add_development_dependency "minitest", "~> 5.15"
39
+ spec.add_development_dependency "minitest-hooks", "~> 1.5"
40
40
  spec.add_development_dependency "rake", "~> 13.0"
41
- spec.add_development_dependency "webrick", "~> 1.0"
41
+ spec.add_development_dependency "webrick", "~> 1.7"
42
42
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mini_portile2
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.7.1
4
+ version: 2.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Luis Lavena
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2021-10-20 00:00:00.000000000 Z
13
+ date: 2022-02-20 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: bundler
@@ -18,56 +18,56 @@ dependencies:
18
18
  requirements:
19
19
  - - "~>"
20
20
  - !ruby/object:Gem::Version
21
- version: '2.1'
21
+ version: '2.3'
22
22
  type: :development
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - "~>"
27
27
  - !ruby/object:Gem::Version
28
- version: '2.1'
28
+ version: '2.3'
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: minitar
31
31
  requirement: !ruby/object:Gem::Requirement
32
32
  requirements:
33
33
  - - "~>"
34
34
  - !ruby/object:Gem::Version
35
- version: '0.7'
35
+ version: '0.9'
36
36
  type: :development
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
40
  - - "~>"
41
41
  - !ruby/object:Gem::Version
42
- version: '0.7'
42
+ version: '0.9'
43
43
  - !ruby/object:Gem::Dependency
44
44
  name: minitest
45
45
  requirement: !ruby/object:Gem::Requirement
46
46
  requirements:
47
47
  - - "~>"
48
48
  - !ruby/object:Gem::Version
49
- version: '5.11'
49
+ version: '5.15'
50
50
  type: :development
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
53
53
  requirements:
54
54
  - - "~>"
55
55
  - !ruby/object:Gem::Version
56
- version: '5.11'
56
+ version: '5.15'
57
57
  - !ruby/object:Gem::Dependency
58
58
  name: minitest-hooks
59
59
  requirement: !ruby/object:Gem::Requirement
60
60
  requirements:
61
61
  - - "~>"
62
62
  - !ruby/object:Gem::Version
63
- version: 1.5.0
63
+ version: '1.5'
64
64
  type: :development
65
65
  prerelease: false
66
66
  version_requirements: !ruby/object:Gem::Requirement
67
67
  requirements:
68
68
  - - "~>"
69
69
  - !ruby/object:Gem::Version
70
- version: 1.5.0
70
+ version: '1.5'
71
71
  - !ruby/object:Gem::Dependency
72
72
  name: rake
73
73
  requirement: !ruby/object:Gem::Requirement
@@ -88,14 +88,14 @@ dependencies:
88
88
  requirements:
89
89
  - - "~>"
90
90
  - !ruby/object:Gem::Version
91
- version: '1.0'
91
+ version: '1.7'
92
92
  type: :development
93
93
  prerelease: false
94
94
  version_requirements: !ruby/object:Gem::Requirement
95
95
  requirements:
96
96
  - - "~>"
97
97
  - !ruby/object:Gem::Version
98
- version: '1.0'
98
+ version: '1.7'
99
99
  description: Simplistic port-like solution for developers. It provides a standard
100
100
  and simplified way to compile against dependency libraries without messing up your
101
101
  system.
@@ -153,7 +153,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
153
153
  - !ruby/object:Gem::Version
154
154
  version: '0'
155
155
  requirements: []
156
- rubygems_version: 3.2.22
156
+ rubygems_version: 3.3.5
157
157
  signing_key:
158
158
  specification_version: 4
159
159
  summary: Simplistic port-like solution for developers