pngcheck 0.2.5-x86_64-darwin → 0.2.6-x86_64-darwin

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: 6ef6b5400dda798aa679ae92fc2d815eb5e5331dd5fb5a9c0a5ef3e928bfeef8
4
- data.tar.gz: 20f435518b35ee7de06b74dbe82da2b455993341c5c95a112c76dc5ddf920df0
3
+ metadata.gz: 37776d166a7a808f5917bac5880d530fd6faf8d393d1781099db5b0a5183e499
4
+ data.tar.gz: 5be045583e282a219e94abea5476159ce2fabe13f9ad41d9be4863a1ab36cfca
5
5
  SHA512:
6
- metadata.gz: b92367c4009e877e1ad8d27501b0377c506c4d58a904f75ab427bcc1c2fa763e3b3e3b49dbd667c128cdd1253f47a4037ace5e3889c03ac56a032968597088c6
7
- data.tar.gz: 956795e0fe1c16f5fb8c01c49ef9bd81decffda368de047affc8aebef4e11a641b9ee583ba61c85cd73bbb8883382a6adc20c19cea240f5d07ca1c0833ac3032
6
+ metadata.gz: fd82c9b8d6bd61362cd505f376be0a3654b5f6842f789b59781ed6960a2cdb61102b8b31b69d32469788afe739276964269d1f7f447478fca218431ac2c7890e
7
+ data.tar.gz: 0b9bc558188bd10c957939818693766ca4a9a540547d2ef5bd7d8c63ccb9da3666008d69f1868532a0685c3a564c3ec8aa4ca5f2d9603b6a7c5a91a5a9cfbb86
@@ -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: x86_64-darwin
6
6
  authors:
7
7
  - Ribose Inc.