pngcheck 0.2.5-x64-mingw32 → 0.2.6-x64-mingw32

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: 7b126c84e92dd1d855eea9df085807222447209dac3d6b10bbb52ba545422362
4
- data.tar.gz: 448fd11e4ede822f336ec4b0a7e90e98022acbd5c775636ffd8d16c8d810711d
3
+ metadata.gz: 19e858ebfc5626d9f92a5dc16d03efd040086fb7200ef0cac049f5c0fe5298aa
4
+ data.tar.gz: 50874a7abc47e535220000ad3cb82ac3ec878bb4e9b4a1dd8b8f902a8c0db258
5
5
  SHA512:
6
- metadata.gz: 15231a69eb78870f029be3190e46d73c2d36787581955dbd7f399a8d2fef7a49d4bb1242c0c153ab673f7ca9b003f77833058f6798684fa65fdef2f293ac967b
7
- data.tar.gz: 7a627f5399d2b3d58c655a6be1b503d18fd5156be528fa5d4d95e23e0a8e1ab2458f8757ac146b8f31682c36b13848f41827fab60e0b4a4691346670386f1718
6
+ metadata.gz: 32bfcb50afaa30e85225546b3341e315e960e95d04281451b5ceb398b1e523ca39c0effe33563af446edc2e832a73e21a3e4a3fbadc9daaf1822100261651e3f
7
+ data.tar.gz: 474ba89fc38db44b27aceb2aca4fe12f8f4cd643a3eeb77e348e80d80698f2df574f4c99319fa5ae75321b17ed8baceeedcd5d15c93a0782c32809949807a138
Binary file
@@ -13,12 +13,16 @@ module PngCheck
13
13
  ROOT = Pathname.new(File.expand_path("../..", __dir__))
14
14
  COMMON_FLAGS = "-shared -fPIC -Wall -O -DUSE_ZLIB"
15
15
 
16
- def files_to_load
16
+ def files_to_load_all
17
17
  @files << {
18
18
  url: "http://www.libpng.org/pub/png/src/pngcheck-3.0.3.tar.gz",
19
19
  sha256: "c36a4491634af751f7798ea421321642f9590faa032eccb0dd5fb4533609dee6", # rubocop:disable Layout/LineLength
20
20
  }
21
- if target_platform.eql?("aarch64-linux")
21
+ end
22
+
23
+ def files_to_load_cross
24
+ if target_platform.eql?("aarch64-linux") &&
25
+ !host_platform.eql?("aarch64-linux")
22
26
  @files << {
23
27
  url: "http://ports.ubuntu.com/pool/main/z/zlib/zlib1g-dev_1.2.11.dfsg-2ubuntu1.3_arm64.deb", # rubocop:disable Layout/LineLength
24
28
  sha256: "0ebadc1ff2a70f0958d4e8e21ffa97d9fa4da23555eaae87782e963044a26fcf", # rubocop:disable Layout/LineLength
@@ -28,17 +32,27 @@ module PngCheck
28
32
 
29
33
  def initialize
30
34
  super("pngcheck", "3.0.3")
31
- files_to_load
35
+ files_to_load_all
36
+ files_to_load_cross
32
37
  @target = ROOT.join(@target).to_s
33
38
  @printed = {}
34
39
  end
35
40
 
41
+ def lib_filename
42
+ @lib_filename ||=
43
+ if MiniPortile.windows?
44
+ "pngcheck.dll"
45
+ else
46
+ "pngcheck.so"
47
+ end
48
+ end
49
+
50
+ def lib_workpath
51
+ @lib_workpath ||= File.join(work_path, lib_filename)
52
+ end
53
+
36
54
  def make_cmd
37
- if MiniPortile.windows?
38
- "gcc #{COMMON_FLAGS} -o pngcheck.dll wrapper.c -lz"
39
- else
40
- "#{cc} #{cflags} #{COMMON_FLAGS} -o pngcheck.so wrapper.c -lz"
41
- end
55
+ "#{cc} #{cflags} #{COMMON_FLAGS} -o #{lib_filename} wrapper.c -lz"
42
56
  end
43
57
 
44
58
  def cook_if_not
@@ -56,29 +70,25 @@ module PngCheck
56
70
 
57
71
  def configure
58
72
  FileUtils.cp(ROOT.join("ext", "wrapper.c"), work_path, verbose: false)
59
- if target_platform.eql?("aarch64-linux")
73
+ if target_platform.eql?("aarch64-linux") &&
74
+ !host_platform.eql?("aarch64-linux")
60
75
  extract_file("#{work_path}/../data.tar.xz", work_path.to_s)
61
76
  end
62
77
  end
63
78
 
64
- def libs_to_verify
65
- Dir.glob(ROOT.join("lib", "pngcheck",
66
- "pngcheck.{so,dylib,dll}"))
67
- end
68
-
69
- def verify_libs
70
- libs_to_verify.each do |l|
71
- out, st = Open3.capture2("file #{l}")
72
- out = out.strip
73
-
74
- raise "Failed to query file #{l}: #{out}" unless st.exitstatus.zero?
79
+ def verify_lib
80
+ begin
81
+ out, = Open3.capture2("file #{lib_workpath}")
82
+ rescue StandardError
83
+ message("Failed to call file, skipped library verification ...\n")
84
+ return
85
+ end
75
86
 
76
- if out.include?(target_format)
77
- message("Verifying #{l} ... OK\n")
78
- else
79
- raise "Invalid file format '#{out}', '#{@target_format}' expected"
80
- end
87
+ unless out.include?(target_format)
88
+ raise "Invalid file format '#{out.strip}', '#{@target_format}' expected"
81
89
  end
90
+
91
+ message("Verifying #{lib_workpath} ... OK\n")
82
92
  end
83
93
 
84
94
  def install
@@ -86,7 +96,7 @@ module PngCheck
86
96
  .grep(%r{/(?:lib)?[a-zA-Z0-9\-]+\.(?:so|dylib|dll)$})
87
97
 
88
98
  FileUtils.cp_r(libs, ROOT.join("lib", "pngcheck"), verbose: false)
89
- verify_libs
99
+ verify_lib
90
100
  end
91
101
 
92
102
  def execute(action, command, command_opts = {})
@@ -174,11 +184,11 @@ module PngCheck
174
184
 
175
185
  def cflags
176
186
  @cflags ||=
177
- if target_platform.eql?(host_platform) ||
178
- !target_platform.eql?("aarch64-linux")
179
- ""
180
- else
187
+ if target_platform.eql?("aarch64-linux") &&
188
+ !host_platform.eql?("aarch64-linux")
181
189
  "-I./usr/include -L./usr/lib/#{target_platform}-gnu"
190
+ else
191
+ ""
182
192
  end
183
193
  end
184
194
  # rubocop:enable Metrics/CyclomaticComplexity
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PngCheck
4
- VERSION = "0.2.5"
4
+ VERSION = "0.2.6"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pngcheck
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.5
4
+ version: 0.2.6
5
5
  platform: x64-mingw32
6
6
  authors:
7
7
  - Ribose Inc.