image_optim_pack 0.10.0.20231105-x86_64-linux → 0.10.1.20240317-x86_64-linux

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: 0b0440c8fb56a4ca7c4f6c304508b2cb63ec9ffd8eb33525c69b5c818a76c0a9
4
- data.tar.gz: 89bb925d78b00644fedbf58f97c4dad4bb515ec8e375e87e45dad61132a2df68
3
+ metadata.gz: aac6addc81a5cc759abb9c2ec91b48ae176e3577e52e5992e7c7787cb9e21469
4
+ data.tar.gz: c3055b07ce0073573d5c9abddbdd52accee2e4a372f214bc59afeb0766fee372
5
5
  SHA512:
6
- metadata.gz: 0edd80d3a21a5d4ec5880433a1168346366c66a086dca477c4d61a21fea6cb4233d54b2b17ab2459646e7a5d7886891747e8d679a937e00e55b21b8080f9160a
7
- data.tar.gz: 1acc2c49d54c54564b8c43013e2aec42b20785fd02e22f0269f5b4e1e1096f84aaa1da7e61e5a345b4c3f6cf802f140f9f7531adfe8f1e6f5cff48e89605a923
6
+ metadata.gz: e98e293cc727ac902d0b695571f5e8e6ca27c01390c022daab82fbdceeddd6d06939a88764672583d5a5a57519ee018074d4d6fa04392c2de0de4e10b05a9c40
7
+ data.tar.gz: 5d255133e28ff9627a6c8f2353b84ec3f6d5b87f32907e7b8440c2c9cc5132d52fcd5be6b701f815aee7672503bbbe105cb82714e01dfc8484b83073a4d69b06
@@ -13,19 +13,17 @@ jobs:
13
13
  - ubuntu-latest
14
14
  - macos-latest
15
15
  ruby:
16
- - '2.3'
17
- - '2.4'
18
- - '2.5'
19
16
  - '2.6'
20
17
  - '2.7'
21
18
  - '3.0'
22
19
  - '3.1'
23
20
  - '3.2'
21
+ - '3.3'
24
22
  - jruby-9.3
25
23
  - jruby-9.4
26
24
  fail-fast: false
27
25
  steps:
28
- - uses: actions/checkout@v3
26
+ - uses: actions/checkout@v4
29
27
  - uses: ruby/setup-ruby@v1
30
28
  with:
31
29
  ruby-version: "${{ matrix.ruby }}"
@@ -14,7 +14,7 @@ jobs:
14
14
  - DOCKER_FILE=Dockerfile.debian DOCKER_TAG_SUFFIX=-debian
15
15
  fail-fast: false
16
16
  steps:
17
- - uses: actions/checkout@v3
17
+ - uses: actions/checkout@v4
18
18
  - uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9
19
19
  with:
20
20
  registry: ghcr.io
@@ -14,7 +14,7 @@ jobs:
14
14
  livecheck:
15
15
  runs-on: ubuntu-latest
16
16
  steps:
17
- - uses: actions/checkout@v3
17
+ - uses: actions/checkout@v4
18
18
  - uses: ruby/setup-ruby@v1
19
19
  with:
20
20
  ruby-version: '3'
@@ -8,7 +8,7 @@ jobs:
8
8
  rubocop:
9
9
  runs-on: ubuntu-latest
10
10
  steps:
11
- - uses: actions/checkout@v3
11
+ - uses: actions/checkout@v4
12
12
  - uses: ruby/setup-ruby@v1
13
13
  with:
14
14
  ruby-version: '3'
data/.rubocop.yml CHANGED
@@ -63,11 +63,6 @@ Style/HashConversion:
63
63
  Style/HashEachMethods:
64
64
  Enabled: true
65
65
 
66
- Style/HashSyntax:
67
- Exclude:
68
- - script/livecheck
69
- EnforcedStyle: hash_rockets
70
-
71
66
  Style/HashTransformKeys:
72
67
  Enabled: false
73
68
 
data/CHANGELOG.markdown CHANGED
@@ -2,6 +2,16 @@
2
2
 
3
3
  ## unreleased
4
4
 
5
+ ## v0.10.1.20240317 (2024-03-17)
6
+
7
+ * gifsicle 1.95 [@toy](https://github.com/toy)
8
+ * libpng 1.6.43, patching pngcrush to be compatible [@toy](https://github.com/toy)
9
+ * libjpeg 9f [@toy](https://github.com/toy)
10
+
11
+ ## v0.10.1 (2023-12-05)
12
+
13
+ * liblcms 2.16 [@toy](https://github.com/toy)
14
+
5
15
  ## v0.10.0.20231105 (2023-11-05)
6
16
 
7
17
  * optipng 0.7.8 [@toy](https://github.com/toy)
data/Gemfile CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  source 'https://rubygems.org'
4
4
 
5
- gemspec :name => 'image_optim_pack'
5
+ gemspec name: 'image_optim_pack'
6
6
 
7
7
  if RUBY_VERSION >= '2.1.9'
8
8
  gem 'gems', '~> 1.0'
data/LICENSE.txt CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2014-2023 Ivan Kuchin
1
+ Copyright (c) 2014-2024 Ivan Kuchin
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
data/Makefile CHANGED
@@ -3,14 +3,14 @@ all :
3
3
  # ====== VERSIONS ======
4
4
 
5
5
  ADVANCECOMP_VER := 2.6
6
- GIFSICLE_VER := 1.94
6
+ GIFSICLE_VER := 1.95
7
7
  JHEAD_VER := 3.04
8
8
  JPEGARCHIVE_VER := 2.2.0
9
9
  JPEGOPTIM_VER := 1.5.5
10
- LIBJPEG_VER := 9e
11
- LIBLCMS_VER := 2.15
10
+ LIBJPEG_VER := 9f
11
+ LIBLCMS_VER := 2.16
12
12
  LIBMOZJPEG_VER := 4.1.5
13
- LIBPNG_VER := 1.6.40
13
+ LIBPNG_VER := 1.6.43
14
14
  LIBZ_VER := 1.2.11
15
15
  OPTIPNG_VER := 0.7.8
16
16
  OXIPNG_VER := 9.0.0
@@ -43,6 +43,7 @@ BUILD_ROOT_DIR := $(CURDIR)/build
43
43
  BUILD_DIR := $(BUILD_ROOT_DIR)/$(OS)-$(ARCH)
44
44
  OUTPUT_ROOT_DIR := $(CURDIR)/vendor
45
45
  OUTPUT_DIR := $(OUTPUT_ROOT_DIR)/$(OS)-$(ARCH)
46
+ PATCHES_DIR := $(CURDIR)/patches
46
47
 
47
48
  ANSI_RED=\033[31m
48
49
  ANSI_GREEN=\033[32m
@@ -495,6 +496,7 @@ $(OXIPNG_TARGET) :
495
496
  $(eval $(call depend,PNGCRUSH,LIBPNG LIBZ))
496
497
  $(PNGCRUSH_TARGET) :
497
498
  cd $(DIR) && rm -f png.h pngconf.h
499
+ cd $(DIR) && patch < $(PATCHES_DIR)/pngcrush.patch
498
500
  cd $(DIR) && $(MAKE) pngcrush \
499
501
  CC="$(CC)" \
500
502
  LD="$(CC)" \
data/README.markdown CHANGED
@@ -119,4 +119,4 @@ make docker-push # will push tags created by docker-build
119
119
 
120
120
  ## Copyright
121
121
 
122
- Copyright (c) 2014-2023 Ivan Kuchin. See [LICENSE.txt](LICENSE.txt) for details.
122
+ Copyright (c) 2014-2024 Ivan Kuchin. See [LICENSE.txt](LICENSE.txt) for details.
data/Vagrantfile CHANGED
@@ -27,13 +27,13 @@ Vagrant.configure('2') do |config|
27
27
  set -ex
28
28
 
29
29
  apt-get update
30
- apt-get -y install rsync ntpdate make wget gcc g++ chrpath perl pkg-config autoconf automake libtool nasm cmake cargo
30
+ apt-get -y install rsync ntpdate make wget gcc g++ chrpath perl pkg-config autoconf automake libtool nasm cmake cargo patch
31
31
  apt-get -y remove unattended-upgrades
32
32
  else
33
33
  set -ex
34
34
 
35
35
  yum -y install epel-release
36
- yum -y install rsync ntpdate make wget gcc gcc-c++ chrpath perl pkg-config autoconf automake libtool nasm cmake cargo
36
+ yum -y install rsync ntpdate make wget gcc gcc-c++ chrpath perl pkg-config autoconf automake libtool nasm cmake cargo patch
37
37
  fi
38
38
 
39
39
  mkdir -p /vagrant
data/boxes/Rakefile CHANGED
@@ -73,10 +73,10 @@ Dir['definitions/*/definition.rb'].each do |definition_path|
73
73
  end
74
74
 
75
75
  desc 'build all boxes'
76
- task :build => box.path
76
+ task build: box.path
77
77
 
78
78
  desc 'add all boxes to vagrant'
79
- task :add => "add:#{box.name}"
79
+ task add: "add:#{box.name}"
80
80
  end
81
81
 
82
82
  desc 'remove *.box and iso dir'
@@ -85,4 +85,4 @@ task :clean do
85
85
  sh 'rm -r iso || true'
86
86
  end
87
87
 
88
- task :default => :build
88
+ task default: :build
@@ -1,32 +1,32 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  Veewee::Session.declare({
4
- :cpu_count => '1',
5
- :memory_size => '512',
6
- :disk_size => '8192',
7
- :disk_format => 'VDI',
8
- :hostiocache => 'off',
9
- :os_type_id => 'RedHat6_64',
10
- :iso_file => 'CentOS-7-x86_64-Minimal-2009.iso',
11
- :iso_src => 'http://linux.darkpenguin.net/distros/CentOS/7.9.2009/isos/x86_64/CentOS-7-x86_64-Minimal-2009.iso',
12
- :iso_sha256 => '07b94e6b1a0b0260b94c83d6bb76b26bf7a310dc78d7a9c7432809fb9bc6194a',
13
- :iso_download_timeout => '1000',
14
- :boot_wait => '10',
15
- :boot_cmd_sequence => [
4
+ cpu_count: '1',
5
+ memory_size: '512',
6
+ disk_size: '8192',
7
+ disk_format: 'VDI',
8
+ hostiocache: 'off',
9
+ os_type_id: 'RedHat6_64',
10
+ iso_file: 'CentOS-7-x86_64-Minimal-2009.iso',
11
+ iso_src: 'http://linux.darkpenguin.net/distros/CentOS/7.9.2009/isos/x86_64/CentOS-7-x86_64-Minimal-2009.iso',
12
+ iso_sha256: '07b94e6b1a0b0260b94c83d6bb76b26bf7a310dc78d7a9c7432809fb9bc6194a',
13
+ iso_download_timeout: '1000',
14
+ boot_wait: '10',
15
+ boot_cmd_sequence: [
16
16
  '<Tab> text ks=http://%IP%:%PORT%/ks.cfg<Enter>',
17
17
  ],
18
- :kickstart_port => '7122',
19
- :kickstart_timeout => '300',
20
- :kickstart_file => 'ks.cfg',
21
- :ssh_login_timeout => '10000',
22
- :ssh_user => 'veewee',
23
- :ssh_password => 'veewee',
24
- :ssh_key => '',
25
- :ssh_host_port => '7222',
26
- :ssh_guest_port => '22',
27
- :sudo_cmd => "echo '%p'|sudo -S sh '%f'",
28
- :shutdown_cmd => '/sbin/halt -h -p',
29
- :postinstall_files => %w[../centos-postinstall.sh],
30
- :postinstall_timeout => '10000',
31
- :skip_iso_transfer => true,
18
+ kickstart_port: '7122',
19
+ kickstart_timeout: '300',
20
+ kickstart_file: 'ks.cfg',
21
+ ssh_login_timeout: '10000',
22
+ ssh_user: 'veewee',
23
+ ssh_password: 'veewee',
24
+ ssh_key: '',
25
+ ssh_host_port: '7222',
26
+ ssh_guest_port: '22',
27
+ sudo_cmd: "echo '%p'|sudo -S sh '%f'",
28
+ shutdown_cmd: '/sbin/halt -h -p',
29
+ postinstall_files: %w[../centos-postinstall.sh],
30
+ postinstall_timeout: '10000',
31
+ skip_iso_transfer: true,
32
32
  })
data/checksums.mk CHANGED
@@ -1,12 +1,12 @@
1
1
  ADVANCECOMP_SHA256 := b07d77735540409771cbe1b6df165b5151c11bb9c3d8f01290be0ec88ec3498f
2
- GIFSICLE_SHA256 := 4bc97005c0789620de75f89997d3c2f70758c72c61aa0a2ef04f7a671a2ff89b
2
+ GIFSICLE_SHA256 := b2711647009fd2a13130f3be160532ed46538e762bfc0f020dea50618a7dc950
3
3
  JHEAD_SHA256 := ef89bbcf4f6c25ed88088cf242a47a6aedfff4f08cc7dc205bf3e2c0f10a03c9
4
4
  JPEGARCHIVE_SHA256 := 3da16a5abbddd925dee0379aa51d9fe0cba33da0b5703be27c13a2dda3d7ed75
5
5
  JPEGOPTIM_SHA256 := 90a309d1c092de358bb411d702281ac3039b489d03adb0bc3c4ef04cf0067d38
6
- LIBJPEG_SHA256 := 4077d6a6a75aeb01884f708919d25934c93305e49f7e3f36db9129320e6f4f3d
7
- LIBLCMS_SHA256 := b20cbcbd0f503433be2a4e81462106fa61050a35074dc24a4e356792d971ab39
6
+ LIBJPEG_SHA256 := 04705c110cb2469caa79fb71fba3d7bf834914706e9641a4589485c1f832565b
7
+ LIBLCMS_SHA256 := d873d34ad8b9b4cea010631f1a6228d2087475e4dc5e763eb81acc23d9d45a51
8
8
  LIBMOZJPEG_SHA256 := 9fcbb7171f6ac383f5b391175d6fb3acde5e64c4c4727274eade84ed0998fcc1
9
- LIBPNG_SHA256 := 8f720b363aa08683c9bf2a563236f45313af2c55d542b5481ae17dd8d183bb42
9
+ LIBPNG_SHA256 := e804e465d4b109b5ad285a8fb71f0dd3f74f0068f91ce3cdfde618180c174925
10
10
  LIBZ_SHA256 := c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1
11
11
  OPTIPNG_SHA256 := 25a3bd68481f21502ccaa0f4c13f84dcf6b20338e4c4e8c51f2cefbd8513398c
12
12
  OXIPNG_SHA256 := 534fa8f349f52b01c2ee4332cef25ce1311edca04209ac6d972e38b171550a1b
@@ -2,12 +2,14 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = 'image_optim_pack'
5
- s.version = '0.10.0.20231105'
5
+ s.version = '0.10.1.20240317'
6
6
  s.summary = %q{Precompiled binaries for image_optim: advpng, gifsicle, jhead, jpeg-recompress, jpegoptim, jpegtran, optipng, pngcrush, pngquant}
7
7
  s.homepage = "https://github.com/toy/#{s.name}"
8
8
  s.authors = ['Ivan Kuchin']
9
9
  s.license = 'MIT'
10
10
 
11
+ s.required_ruby_version = '>= 1.9.3'
12
+
11
13
  s.metadata = {
12
14
  'bug_tracker_uri' => "https://github.com/toy/#{s.name}/issues",
13
15
  'changelog_uri' => "https://github.com/toy/#{s.name}/blob/master/CHANGELOG.markdown",
@@ -0,0 +1,15 @@
1
+ diff --git a/pngcrush.c b/pngcrush.c
2
+ index d0c387e..ed27eff 100644
3
+ --- a/pngcrush.c
4
+ +++ b/pngcrush.c
5
+ @@ -5520,8 +5520,10 @@ int main(int argc, char *argv[])
6
+ * they were already checked in the pngcrush_measure_idat
7
+ * function
8
+ */
9
+ +# ifdef PNG_IGNORE_ADLER32
10
+ png_set_option(read_ptr, PNG_IGNORE_ADLER32,
11
+ PNG_OPTION_ON);
12
+ +# endif
13
+ png_set_crc_action(read_ptr, PNG_CRC_QUIET_USE,
14
+ PNG_CRC_QUIET_USE);
15
+ }
data/script/run CHANGED
@@ -44,7 +44,7 @@ for arch in x86_64; do
44
44
  mkdir -p '$build_dir'
45
45
  cd '$build_dir'
46
46
 
47
- ln -nsf '$PWD/Makefile' '$PWD/checksums.mk' '$PWD/download' .
47
+ ln -nsf '$PWD/Makefile' '$PWD/checksums.mk' '$PWD/download' '$PWD/patches' .
48
48
  rsync -aR --del '$PWD/./vendor/$platform' .
49
49
 
50
50
  make $MAKE_TASK ARCH=$arch
@@ -67,7 +67,7 @@ for vm in $(perl -pe "s/.*?'(.+?-.+?)'\s+=>\s+'.+?\/.+?'.*|.*/\$1/" Vagrantfile
67
67
 
68
68
  # rsync needed files to the box
69
69
  mkdir -p "vendor/$vm"
70
- rsync -e "ssh -F $ssh_config" -aR --del Makefile checksums.mk download "vendor/$vm" "$vm:/vagrant"
70
+ rsync -e "ssh -F $ssh_config" -aR --del Makefile checksums.mk download patches "vendor/$vm" "$vm:/vagrant"
71
71
 
72
72
  # sync time and run make
73
73
  ssh -F "$ssh_config" "$vm" "
@@ -64,7 +64,7 @@ describe ImageOptim::Pack do
64
64
 
65
65
  it{ should all(be_an(ImageOptim::BinResolver::Bin)) }
66
66
 
67
- it{ should all(have_attributes(:version => be)) }
67
+ it{ should all(have_attributes(version: be)) }
68
68
 
69
69
  it{ should all(be_non_libraries) }
70
70
  end
@@ -72,7 +72,7 @@ describe ImageOptim::Pack do
72
72
  describe 'bin helpers' do
73
73
  def bins_with_versions(*versions)
74
74
  versions.map do |version|
75
- double(:version => version, :inspect => version ? 'good' : 'bad')
75
+ double(version: version, inspect: version ? 'good' : 'bad')
76
76
  end
77
77
  end
78
78
 
@@ -88,8 +88,8 @@ describe ImageOptim::Pack do
88
88
 
89
89
  it{ should be_all_bins_working }
90
90
  it{ should_not be_all_bins_failing }
91
- it{ should have_attributes(:working_bins => eq(bins)) }
92
- it{ should have_attributes(:failing_bins => be_empty) }
91
+ it{ should have_attributes(working_bins: eq(bins)) }
92
+ it{ should have_attributes(failing_bins: be_empty) }
93
93
  end
94
94
 
95
95
  describe 'mixed good/bad bins' do
@@ -98,8 +98,8 @@ describe ImageOptim::Pack do
98
98
 
99
99
  it{ should_not be_all_bins_working }
100
100
  it{ should_not be_all_bins_failing }
101
- it{ should have_attributes(:working_bins => bins.select(&:version)) }
102
- it{ should have_attributes(:failing_bins => bins.reject(&:version)) }
101
+ it{ should have_attributes(working_bins: bins.select(&:version)) }
102
+ it{ should have_attributes(failing_bins: bins.reject(&:version)) }
103
103
  end
104
104
 
105
105
  describe 'all bad bins' do
@@ -108,8 +108,8 @@ describe ImageOptim::Pack do
108
108
 
109
109
  it{ should_not be_all_bins_working }
110
110
  it{ should be_all_bins_failing }
111
- it{ should have_attributes(:working_bins => be_empty) }
112
- it{ should have_attributes(:failing_bins => eq(bins)) }
111
+ it{ should have_attributes(working_bins: be_empty) }
112
+ it{ should have_attributes(failing_bins: eq(bins)) }
113
113
  end
114
114
  end
115
115
  end
@@ -19,7 +19,7 @@ describe ImageOptim do
19
19
  ImageOptim::Worker.klasses.map do |klass|
20
20
  [klass.bin_sym, false]
21
21
  end
22
- ].merge(:skip_missing_workers => false)
22
+ ].merge(skip_missing_workers: false)
23
23
 
24
24
  ImageOptim::Worker.klasses.each do |worker_klass|
25
25
  next if [:pngout, :svgo].include?(worker_klass.bin_sym)
@@ -30,7 +30,7 @@ describe ImageOptim do
30
30
 
31
31
  image_optim = ImageOptim.new(options)
32
32
  if Array(worker_klass.init(image_optim)).empty?
33
- image_optim = ImageOptim.new(options.merge(:allow_lossy => true))
33
+ image_optim = ImageOptim.new(options.merge(allow_lossy: true))
34
34
  end
35
35
 
36
36
  expect(test_images.any? do |original|
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: image_optim_pack
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.0.20231105
4
+ version: 0.10.1.20240317
5
5
  platform: x86_64-linux
6
6
  authors:
7
7
  - Ivan Kuchin
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-11-05 00:00:00.000000000 Z
11
+ date: 2024-03-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: image_optim
@@ -152,6 +152,7 @@ files:
152
152
  - image_optim_pack.gemspec
153
153
  - lib/image_optim/pack.rb
154
154
  - lib/image_optim_pack.rb
155
+ - patches/pngcrush.patch
155
156
  - script/extract
156
157
  - script/livecheck
157
158
  - script/platform_downloads
@@ -180,7 +181,7 @@ licenses:
180
181
  metadata:
181
182
  bug_tracker_uri: https://github.com/toy/image_optim_pack/issues
182
183
  changelog_uri: https://github.com/toy/image_optim_pack/blob/master/CHANGELOG.markdown
183
- documentation_uri: https://www.rubydoc.info/gems/image_optim_pack/0.10.0.20231105
184
+ documentation_uri: https://www.rubydoc.info/gems/image_optim_pack/0.10.1.20240317
184
185
  source_code_uri: https://github.com/toy/image_optim_pack
185
186
  post_install_message:
186
187
  rdoc_options: []
@@ -190,14 +191,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
190
191
  requirements:
191
192
  - - ">="
192
193
  - !ruby/object:Gem::Version
193
- version: '0'
194
+ version: 1.9.3
194
195
  required_rubygems_version: !ruby/object:Gem::Requirement
195
196
  requirements:
196
197
  - - ">="
197
198
  - !ruby/object:Gem::Version
198
199
  version: '0'
199
200
  requirements: []
200
- rubygems_version: 3.4.20
201
+ rubygems_version: 3.5.5
201
202
  signing_key:
202
203
  specification_version: 4
203
204
  summary: 'Precompiled binaries for image_optim: advpng, gifsicle, jhead, jpeg-recompress,