pngcheck 0.2.7 → 0.3.0

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: 3b01aa17b19045ada7e07600dad8b2fd070472d8f5673a10840d642b9556e32c
4
- data.tar.gz: 25a9d1e18338c3b10edbade539bda19e58e50ecbfb3de547dec1cda22099e713
3
+ metadata.gz: daffdfadcdd93d0707efa4910dac451e3299b7fabc086bbdb68a584bc687bbc7
4
+ data.tar.gz: 306162d7fab571aeb7c00530c262c3e383c4316fa718d17d35a6532af9555096
5
5
  SHA512:
6
- metadata.gz: a66a56aa38c85f6dcace43e4f9d0b1931a3529c5b6a87bca43ed03b2c1d321f0752674a8db7daf2d1c78bb0dd538d1b87debdd0fb4f2c600e4f9bcf17f4bb458
7
- data.tar.gz: dfbc6da9c6adcbf93c486ec7e352c6446fb2797af96231481431967b45748e2843ee98d3130ff86ff8c39ec7b7ef918571dce4f584af9fcc817f40f95babcba7
6
+ metadata.gz: fce720595f1eaa4ff22452bef455403a34ee9a5c1773038b8f01f649ddb5d7b251cec40b7f312e0af76e27ce17b63a91a8bb244ca40c445d0c7b8211face2e9c
7
+ data.tar.gz: 9a6927d9a61bf72aec94819c499d62f6f1bca69a26ebd15c9e249a1639bc2f84d873b70389ca9b7b42d1c55cf627e548f0a7f14ba58de0231ff0777be0c101c7
data/.cross_rubies CHANGED
@@ -2,6 +2,7 @@ x64-mingw32
2
2
  x86_64-linux
3
3
  x86_64-linux-musl
4
4
  aarch64-linux
5
+ aarch64-linux-musl
5
6
  x86_64-darwin
6
7
  arm64-darwin
7
8
  x64-mingw-ucrt
data/README.adoc CHANGED
@@ -113,6 +113,8 @@ Where:
113
113
  * `valid` is `true` if the buffer is correct image
114
114
  * otherwise an exception is raised. Possible exception types are `PngCheck::EmptyPngError`, `PngCheck::CorruptPngError`
115
115
 
116
+ Both exception classes have additional status attribute that is set to one of STATUX_XXX codes described above. We believe that
117
+ exceptions with STATUS_WARNING can be ignored in the majority of applications.
116
118
 
117
119
  ==== Pre-validation with libpng-ruby
118
120
 
data/bin/rspec ADDED
@@ -0,0 +1,29 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ #
5
+ # This file was generated by Bundler.
6
+ #
7
+ # The application 'rspec' is installed as part of a gem, and
8
+ # this file is here to facilitate running it.
9
+ #
10
+
11
+ require "pathname"
12
+ ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
13
+ Pathname.new(__FILE__).realpath)
14
+
15
+ bundle_binstub = File.expand_path("bundle", __dir__)
16
+
17
+ if File.file?(bundle_binstub)
18
+ if /This file was generated by Bundler/.match?(File.read(bundle_binstub, 300))
19
+ load(bundle_binstub)
20
+ else
21
+ abort("Your `bin/bundle` was not generated by Bundler.
22
+ Replace `bin/bundle` by running `bundle binstubs bundler --force`.")
23
+ end
24
+ end
25
+
26
+ require "rubygems"
27
+ require "bundler/setup"
28
+
29
+ load Gem.bin_path("rspec-core", "rspec")
data/ext/layout.rb CHANGED
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- PNGCHECK_ARCH = "pngcheck-3.0.3.tar.gz"
4
- PNGCHECK_URI = "http://www.libpng.org/pub/png/src/#{PNGCHECK_ARCH}"
3
+ PNGCHECK_VER = "3.0.4"
4
+ PNGCHECK_ARCH = "pngcheck-#{PNGCHECK_VER}.tar.gz"
5
+ PNGCHECK_URI = "https://github.com/metanorma/pngcheck/archive/refs/tags/metanorma-v#{PNGCHECK_VER}.tar.gz"
5
6
  PNGCHECK_LOCAL = "ext/#{PNGCHECK_ARCH}"
Binary file
@@ -17,8 +17,8 @@ module PngCheck
17
17
 
18
18
  def files_to_load_all
19
19
  @files << {
20
- url: "file:#{ROOT}/#{PNGCHECK_LOCAL}", # "http://www.libpng.org/pub/png/src/pngcheck-3.0.3.tar.gz"
21
- sha256: "c36a4491634af751f7798ea421321642f9590faa032eccb0dd5fb4533609dee6", # rubocop:disable Layout/LineLength
20
+ url: "file:#{ROOT}/#{PNGCHECK_LOCAL}",
21
+ sha256: "f8ff6033dc0008a90a468213a96ac5d72476b1e59378e267341fcf3734ebb2b3", # rubocop:disable Layout/LineLength
22
22
  }
23
23
  end
24
24
 
@@ -33,7 +33,7 @@ module PngCheck
33
33
  end
34
34
 
35
35
  def initialize
36
- super("pngcheck", "3.0.3")
36
+ super("pngcheck", PNGCHECK_VER)
37
37
  files_to_load_all
38
38
  files_to_load_cross
39
39
  @target = ROOT.join(@target).to_s
@@ -75,6 +75,10 @@ module PngCheck
75
75
  end
76
76
  end
77
77
 
78
+ def tmp_path
79
+ "tmp/#{@host}/ports"
80
+ end
81
+
78
82
  def checkpoint
79
83
  File.join(@target, "#{name}-#{version}-#{host}.installed")
80
84
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PngCheck
4
- VERSION = "0.2.7"
4
+ VERSION = "0.3.0"
5
5
  end
data/lib/pngcheck.rb CHANGED
@@ -5,21 +5,30 @@ require "tempfile"
5
5
  require_relative "pngcheck/version"
6
6
 
7
7
  module PngCheck
8
+ STATUS_OK = 0
9
+ STATUS_WARNING = 1 # an error in some circumstances but not in all
10
+ STATUS_MINOR_ERROR = 3 # minor spec errors (e.g., out-of-range values)
11
+ STATUS_MAJOR_ERROR = 4 # file corruption, invalid chunk length/layout, etc.
12
+ STATUS_CRITICAL_ERROR = 5 # unexpected EOF or other file(system) error
13
+
8
14
  EMPTY_IMAGE = "Image is empty"
9
15
 
10
- class CorruptPngError < StandardError; end
16
+ class CorruptPngError < StandardError
17
+ def initialize(msg, sts = STATUS_MAJOR_ERROR)
18
+ super(msg)
19
+ @status = sts
20
+ end
11
21
 
12
- class EmptyPngError < StandardError
13
- def initialize(msg = EMPTY_IMAGE)
14
- super
22
+ def status
23
+ @status
15
24
  end
16
25
  end
17
26
 
18
- STATUS_OK = 0
19
- STATUS_WARNING = 1 # an error in some circumstances but not in all
20
- STATUS_MINOR_ERROR = 3 # minor spec errors (e.g., out-of-range values)
21
- STATUS_MAJOR_ERROR = 4 # file corruption, invalid chunk length/layout, etc.
22
- STATUS_CRITICAL_ERROR = 5 # unexpected EOF or other file(system) error
27
+ class EmptyPngError < CorruptPngError
28
+ def initialize(msg = EMPTY_IMAGE)
29
+ super(msg, STATUS_CRITICAL_ERROR)
30
+ end
31
+ end
23
32
 
24
33
  EXTRA_MESSAGE_SIZE = 1024
25
34
 
@@ -53,7 +62,7 @@ module PngCheck
53
62
  def check_file(path)
54
63
  status, info = analyze_file(path)
55
64
  raise EmptyPngError.new if info.eql? EMPTY_IMAGE
56
- raise CorruptPngError.new info unless status == STATUS_OK
65
+ raise CorruptPngError.new(info, status) unless status == STATUS_OK
57
66
 
58
67
  true
59
68
  end
@@ -67,7 +76,7 @@ module PngCheck
67
76
  def check_buffer(data)
68
77
  status, info = analyze_buffer(data)
69
78
  raise EmptyPngError.new if info.eql? EMPTY_IMAGE
70
- raise CorruptPngError.new info unless status == STATUS_OK
79
+ raise CorruptPngError.new(info, status) unless status == STATUS_OK
71
80
 
72
81
  true
73
82
  end
metadata CHANGED
@@ -1,15 +1,35 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pngcheck
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.7
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-09-26 00:00:00.000000000 Z
11
+ date: 2022-10-10 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '2.3'
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 2.3.22
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '2.3'
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 2.3.22
13
33
  - !ruby/object:Gem::Dependency
14
34
  name: ffi
15
35
  requirement: !ruby/object:Gem::Requirement
@@ -39,33 +59,33 @@ dependencies:
39
59
  - !ruby/object:Gem::Version
40
60
  version: '2.7'
41
61
  - !ruby/object:Gem::Dependency
42
- name: libpng-ruby
62
+ name: rake
43
63
  requirement: !ruby/object:Gem::Requirement
44
64
  requirements:
45
65
  - - "~>"
46
66
  - !ruby/object:Gem::Version
47
- version: '0.6'
48
- type: :development
67
+ version: '13.0'
68
+ type: :runtime
49
69
  prerelease: false
50
70
  version_requirements: !ruby/object:Gem::Requirement
51
71
  requirements:
52
72
  - - "~>"
53
73
  - !ruby/object:Gem::Version
54
- version: '0.6'
74
+ version: '13.0'
55
75
  - !ruby/object:Gem::Dependency
56
- name: rake
76
+ name: libpng-ruby
57
77
  requirement: !ruby/object:Gem::Requirement
58
78
  requirements:
59
79
  - - "~>"
60
80
  - !ruby/object:Gem::Version
61
- version: '13.0'
81
+ version: '0.6'
62
82
  type: :development
63
83
  prerelease: false
64
84
  version_requirements: !ruby/object:Gem::Requirement
65
85
  requirements:
66
86
  - - "~>"
67
87
  - !ruby/object:Gem::Version
68
- version: '13.0'
88
+ version: '0.6'
69
89
  - !ruby/object:Gem::Dependency
70
90
  name: rspec
71
91
  requirement: !ruby/object:Gem::Requirement
@@ -99,6 +119,7 @@ email:
99
119
  - open.source@ribose.com
100
120
  executables:
101
121
  - console
122
+ - rspec
102
123
  - setup
103
124
  extensions:
104
125
  - ext/extconf.rb
@@ -113,11 +134,12 @@ files:
113
134
  - README.adoc
114
135
  - Rakefile
115
136
  - bin/console
137
+ - bin/rspec
116
138
  - bin/setup
117
139
  - ext/Makefile
118
140
  - ext/extconf.rb
119
141
  - ext/layout.rb
120
- - ext/pngcheck-3.0.3.tar.gz
142
+ - ext/pngcheck-3.0.4.tar.gz
121
143
  - ext/wrapper.c
122
144
  - lib/pngcheck.rb
123
145
  - lib/pngcheck/recipe.rb
Binary file