image_optim_pack 0.8.0.20220117-x86-linux → 0.9.0-x86-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: c64de0451380eef9820ce53c78c56baaf42d77071e3c263c2eed8fef9f01c92c
4
- data.tar.gz: 3e69a54581a09d48eee2decce25a3c26cc506d2a9ceffa04558b45b070b96647
3
+ metadata.gz: ae47980cba5b914b563d4dce511017f142c077700407b092dd7438b3207381d4
4
+ data.tar.gz: 5bb1afcf954bb61671e801040003cfd9cf93ad2b530cd3933c8cd0654fc845d9
5
5
  SHA512:
6
- metadata.gz: 20b7479d44a073dc35de1b4763c9af124276e18296ff1827ece1369c43f450228044e42fdb7a0f2135f2ca63cd1b0761ac3ab231300f4e8be442e10de2de93d7
7
- data.tar.gz: e9b5b9e70386c87dfa6aa277d5aaa58ac2e3e6376e04db0711b7aab7e61c31875c1b1d56dd678e2d8e48117b196274c9c0ba27c739ff547d34ea476c8b07b98d
6
+ metadata.gz: 628b55b81607067ef8303515fe13e845315ba4ec62e4bf6e3af545ac3a96e5bab4427e885b29537b3e5247a9fbb444ab1fdcf035f44c987fff86aac253f49e26
7
+ data.tar.gz: b82e53d5e7250a578c333ef3c7d3a6bd16c7b49a570fa28ef8fec75e55519f988f46cee2f5791eacd15777ba6a3fa1b33dbc1356f413d5d6ee61cbaabed0bf04
@@ -24,6 +24,7 @@ jobs:
24
24
  - '3.0'
25
25
  - '3.1'
26
26
  - jruby-9.2
27
+ - jruby-9.3
27
28
  fail-fast: false
28
29
  steps:
29
30
  - uses: actions/checkout@v2
@@ -0,0 +1,16 @@
1
+ name: docker-build
2
+ on:
3
+ push:
4
+ tags:
5
+ - '*'
6
+ jobs:
7
+ docker-build:
8
+ runs-on: ubuntu-latest
9
+ steps:
10
+ - uses: actions/checkout@v2
11
+ - uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9
12
+ with:
13
+ registry: ghcr.io
14
+ username: ${{ github.actor }}
15
+ password: ${{ secrets.GITHUB_TOKEN }}
16
+ - run: make docker-push
data/CHANGELOG.markdown CHANGED
@@ -2,6 +2,18 @@
2
2
 
3
3
  ## unreleased
4
4
 
5
+ ## v0.9.0 (2022-06-11)
6
+
7
+ * Add [pngout](http://advsys.net/ken/utils.htm) (since January 2021 license allows redistrubition for freely distributed non-commercial projects) [#24](https://github.com/toy/image_optim_pack/issues/24) [@toy](https://github.com/toy)
8
+
9
+ ## v0.8.0.20220418 (2022-04-18)
10
+
11
+ * advancecomp 2.3 and jpegoptim 1.4.7 [@toy](https://github.com/toy)
12
+
13
+ ## v0.8.0.20220131 (2022-01-31)
14
+
15
+ * liblcms 2.13 [@toy](https://github.com/toy)
16
+
5
17
  ## v0.8.0.20220117 (2022-01-17)
6
18
 
7
19
  * libjpeg 9e and pngquant 2.17.0 [@toy](https://github.com/toy)
data/Dockerfile CHANGED
@@ -1,4 +1,4 @@
1
- FROM alpine:3.12 as base
1
+ FROM alpine as base
2
2
  ENV LD_LIBRARY_PATH=/usr/local/lib
3
3
  WORKDIR /tmp
4
4
 
@@ -85,7 +85,7 @@ ARG JPEGARCHIVE_SHA256
85
85
  COPY download/jpegarchive-$JPEGARCHIVE_VER.tar.gz download/
86
86
  RUN ./extract jpegarchive && \
87
87
  cd build/jpegarchive && \
88
- make install
88
+ CFLAGS=-fcommon make install
89
89
 
90
90
  FROM libjpeg as jpegoptim
91
91
  ARG JPEGOPTIM_VER
@@ -105,7 +105,7 @@ RUN ./extract optipng && \
105
105
  ./configure && \
106
106
  make install
107
107
 
108
- FROM rust:1.55-alpine3.13 as oxipng
108
+ FROM rust:1-alpine as oxipng
109
109
  RUN apk add --no-cache build-base
110
110
  COPY script/extract ./
111
111
  ARG OXIPNG_VER
@@ -125,6 +125,14 @@ RUN ./extract pngcrush && \
125
125
  make && \
126
126
  install -c pngcrush /usr/local/bin
127
127
 
128
+ FROM build as pngout
129
+ ARG PNGOUT_LINUX_STATIC_VER
130
+ ARG PNGOUT_LINUX_STATIC_SHA256
131
+ COPY download/pngout_linux_static-$PNGOUT_LINUX_STATIC_VER.tar.gz download/
132
+ RUN ./extract pngout_linux_static && \
133
+ cd build/pngout_linux_static && \
134
+ cp amd64/pngout-static /usr/local/bin/pngout
135
+
128
136
  FROM liblcms as pngquant
129
137
  ARG PNGQUANT_VER
130
138
  ARG PNGQUANT_SHA256
@@ -145,6 +153,9 @@ RUN ./extract pngquant && \
145
153
  FROM base as image_optim
146
154
  RUN apk add --no-cache libstdc++ ruby npm perl dumb-init
147
155
 
156
+ COPY README.markdown /
157
+ COPY acknowledgements /acknowledgements
158
+
148
159
  COPY --from=advancecomp /usr/local/bin/advpng /usr/local/bin/
149
160
  COPY --from=gifsicle /usr/local/bin/gifsicle /usr/local/bin/
150
161
  COPY --from=jhead /usr/local/bin/jhead /usr/local/bin/
@@ -154,6 +165,7 @@ COPY --from=libjpeg /usr/local/bin/jpegtran /usr/local/bin/
154
165
  COPY --from=optipng /usr/local/bin/optipng /usr/local/bin/
155
166
  COPY --from=oxipng /usr/local/bin/oxipng /usr/local/bin/
156
167
  COPY --from=pngcrush /usr/local/bin/pngcrush /usr/local/bin/
168
+ COPY --from=pngout /usr/local/bin/pngout /usr/local/bin/
157
169
  COPY --from=pngquant /usr/local/bin/pngquant /usr/local/bin/
158
170
 
159
171
  COPY --from=libjpeg /usr/local/lib/libjpeg.so.9 /usr/local/lib/
@@ -163,5 +175,5 @@ COPY --from=liblcms /usr/local/lib/liblcms2.so.2 /usr/local/lib/
163
175
 
164
176
  RUN npm -g install svgo
165
177
  RUN gem install --no-document image_optim
166
- ENTRYPOINT ["dumb-init", "image_optim", "--skip-missing-workers"]
178
+ ENTRYPOINT ["dumb-init", "image_optim"]
167
179
  CMD ["--help"]
data/Makefile CHANGED
@@ -2,19 +2,23 @@ all :
2
2
 
3
3
  # ====== VERSIONS ======
4
4
 
5
- ADVANCECOMP_VER := 2.1
5
+ ADVANCECOMP_VER := 2.3
6
6
  GIFSICLE_VER := 1.93
7
7
  JHEAD_VER := 3.04
8
8
  JPEGARCHIVE_VER := 2.2.0
9
- JPEGOPTIM_VER := 1.4.6
9
+ JPEGOPTIM_VER := 1.4.7
10
10
  LIBJPEG_VER := 9e
11
- LIBLCMS_VER := 2.12
11
+ LIBLCMS_VER := 2.13
12
12
  LIBMOZJPEG_VER := 4.0.3
13
13
  LIBPNG_VER := 1.6.37
14
14
  LIBZ_VER := 1.2.11
15
15
  OPTIPNG_VER := 0.7.7
16
16
  OXIPNG_VER := 5.0.1
17
17
  PNGCRUSH_VER := 1.8.13
18
+ PNGOUT_VER := 20200115
19
+ PNGOUT_LINUX_VER := $(PNGOUT_VER)
20
+ PNGOUT_LINUX_STATIC_VER := $(PNGOUT_VER)
21
+ PNGOUT_DARWIN_VER := $(PNGOUT_VER)
18
22
  PNGQUANT_VER := 2.17.0
19
23
 
20
24
  # ====== CHECKSUMS ======
@@ -57,12 +61,13 @@ sha256sum := $(shell if command -v sha256sum >/dev/null 2>&1; then echo sha256su
57
61
  ARCHIVES :=
58
62
 
59
63
  # $1 - name of archive
64
+ # $2 - extension to use (instead of default tar.gz)
60
65
  define archive
61
66
  ARCHIVES += $1
62
67
  $1_DIR := $(BUILD_DIR)/$(call downcase,$1)
63
- $1_TGZ := $(DL_DIR)/$(call downcase,$1)-$($1_VER).tar.gz
64
- $1_EXTRACTED := $$($1_DIR)/__$$(notdir $$($1_TGZ))__
65
- $$($1_EXTRACTED) : $$($1_TGZ)
68
+ $1_ARC := $(DL_DIR)/$(call downcase,$1)-$($1_VER).$(or $2,tar.gz)
69
+ $1_EXTRACTED := $$($1_DIR)/__$$(notdir $$($1_ARC))__
70
+ $$($1_EXTRACTED) : $$($1_ARC)
66
71
  mkdir -p $(BUILD_DIR)
67
72
  rm -rf $$(@D)
68
73
  echo "$$($1_SHA256) $$<" | $(sha256sum) -c
@@ -73,11 +78,13 @@ endef
73
78
 
74
79
  # $1 - name of archive
75
80
  # $2 - url of archive with [VER] for replace with version
81
+ # $3 - extension to use
76
82
  define archive-dl
77
- $(call archive,$1)
83
+ $(call archive,$1,$3)
78
84
  # download archive from url
79
- $$($1_TGZ) :
85
+ $$($1_ARC) :
80
86
  mkdir -p $(DL_DIR)
87
+ test -w $(DL_DIR)
81
88
  while ! mkdir $$@.lock 2> /dev/null; do sleep 1; done
82
89
  wget -q -O $$@.tmp $(subst [VER],$($1_VER),$(strip $2))
83
90
  mv $$@.tmp $$@
@@ -88,7 +95,7 @@ $(eval $(call archive-dl,ADVANCECOMP, https://github.com/amadvance/advancecomp/r
88
95
  $(eval $(call archive-dl,GIFSICLE, https://www.lcdf.org/gifsicle/gifsicle-[VER].tar.gz))
89
96
  $(eval $(call archive-dl,JHEAD, https://www.sentex.ca/~mwandel/jhead/jhead-[VER].tar.gz))
90
97
  $(eval $(call archive-dl,JPEGARCHIVE, https://github.com/danielgtaylor/jpeg-archive/archive/v[VER].tar.gz))
91
- $(eval $(call archive-dl,JPEGOPTIM, https://www.kokkonen.net/tjko/src/jpegoptim-[VER].tar.gz))
98
+ $(eval $(call archive-dl,JPEGOPTIM, https://github.com/tjko/jpegoptim/archive/v[VER].tar.gz))
92
99
  $(eval $(call archive-dl,LIBJPEG, https://www.ijg.org/files/jpegsrc.v[VER].tar.gz))
93
100
  $(eval $(call archive-dl,LIBLCMS, https://prdownloads.sourceforge.net/lcms/lcms2-[VER].tar.gz?download))
94
101
  $(eval $(call archive-dl,LIBMOZJPEG, https://github.com/mozilla/mozjpeg/archive/v[VER].tar.gz))
@@ -97,25 +104,28 @@ $(eval $(call archive-dl,LIBZ, https://prdownloads.sourceforge.net/libpng
97
104
  $(eval $(call archive-dl,OPTIPNG, https://prdownloads.sourceforge.net/optipng/optipng-[VER].tar.gz?download))
98
105
  $(eval $(call archive-dl,OXIPNG, https://github.com/shssoichiro/oxipng/archive/refs/tags/v[VER].tar.gz))
99
106
  $(eval $(call archive-dl,PNGCRUSH, https://prdownloads.sourceforge.net/pmt/pngcrush-[VER]-nolib.tar.gz?download))
107
+ $(eval $(call archive-dl,PNGOUT_LINUX,http://www.jonof.id.au/files/kenutils/pngout-[VER]-linux.tar.gz))
108
+ $(eval $(call archive-dl,PNGOUT_LINUX_STATIC,http://www.jonof.id.au/files/kenutils/pngout-[VER]-linux-static.tar.gz))
109
+ $(eval $(call archive-dl,PNGOUT_DARWIN,http://www.jonof.id.au/files/kenutils/pngout-[VER]-macos.zip,zip))
100
110
  $(eval $(call archive-dl,PNGQUANT, https://pngquant.org/pngquant-[VER]-src.tar.gz))
101
111
 
102
- download : $(foreach archive,$(ARCHIVES),$($(archive)_TGZ))
112
+ download : $(foreach archive,$(ARCHIVES),$($(archive)_ARC))
103
113
  .PHONY : download
104
114
 
105
115
  download-tidy-up :
106
- rm -f $(filter-out $(foreach archive,$(ARCHIVES),$($(archive)_TGZ)),$(wildcard $(DL_DIR)/*.*))
116
+ rm -f $(filter-out $(foreach archive,$(ARCHIVES),$($(archive)_ARC)),$(wildcard $(DL_DIR)/*.*))
107
117
  .PHONY : download-tidy-up
108
118
 
109
119
  checksum : download
110
- @$(sha256sum) $(foreach archive,$(ARCHIVES),$($(archive)_TGZ))
120
+ @$(sha256sum) $(foreach archive,$(ARCHIVES),$($(archive)_ARC))
111
121
  .PHONY : checksum
112
122
 
113
123
  checksum-verify : download
114
- @printf '%s %s\n' $(foreach archive,$(ARCHIVES),$($(archive)_SHA256) $($(archive)_TGZ)) | $(sha256sum) -c
124
+ @printf '%s %s\n' $(foreach archive,$(ARCHIVES),$($(archive)_SHA256) $($(archive)_ARC)) | $(sha256sum) -c
115
125
  .PHONY : checksum-verify
116
126
 
117
127
  checksum-update : download
118
- @printf '%s := %s\n' $(foreach archive,$(ARCHIVES),$(archive)_SHA256 $(shell $(sha256sum) $($(archive)_TGZ) | cut -d ' ' -f 1)) > checksums.mk
128
+ @printf '%s := %s\n' $(foreach archive,$(ARCHIVES),$(archive)_SHA256 $(shell $(sha256sum) $($(archive)_ARC) | cut -d ' ' -f 1)) > checksums.mk
119
129
  .PHONY : checksum-update
120
130
 
121
131
  # ====== PRODUCTS ======
@@ -129,7 +139,7 @@ define target-build
129
139
  $1_PATH := $(or $3,$(call downcase,$1))
130
140
  $1_BASENAME := $$(notdir $$($1_PATH))
131
141
  $1_DIR := $($(or $2,$1)_DIR)
132
- $1_TGZ := $($(or $2,$1)_TGZ)
142
+ $1_ARC := $($(or $2,$1)_ARC)
133
143
  $1_EXTRACTED := $($(or $2,$1)_EXTRACTED)
134
144
  $1_TARGET := $$($1_DIR)/$$($1_PATH)
135
145
  $$($1_TARGET) : DIR := $$($1_DIR)
@@ -139,6 +149,7 @@ endef
139
149
  # $1 - product name
140
150
  # $2 - archive name ($1 if empty)
141
151
  # $3 - basename ($1 if empty)
152
+ # $4 - don't strip the target
142
153
  define target
143
154
  $(call target-build,$1,$2,$3)
144
155
  PRODUCTS += $1
@@ -147,7 +158,7 @@ $1_DESTINATION := $$(OUTPUT_DIR)/$$($1_BASENAME)
147
158
  $$($1_DESTINATION) : $$($1_TARGET)
148
159
  mkdir -p $(OUTPUT_DIR)
149
160
  temppath=`mktemp "$(BUILD_DIR)"/tmp.XXXXXXXXXX` && \
150
- strip $$< -Sx -o "$$$$temppath" && \
161
+ $(if $4,cp $$< "$$$$temppath",strip $$< -Sx -o "$$$$temppath") && \
151
162
  chmod 755 "$$$$temppath" && \
152
163
  mv "$$$$temppath" $$@
153
164
  # short name target
@@ -168,6 +179,11 @@ $(eval $(call target,LIBZ,,libz$(DLEXT)))
168
179
  $(eval $(call target,OPTIPNG,,src/optipng/optipng))
169
180
  $(eval $(call target,OXIPNG,,target/release/oxipng))
170
181
  $(eval $(call target,PNGCRUSH))
182
+ ifdef IS_DARWIN
183
+ $(eval $(call target,PNGOUT,PNGOUT_DARWIN,,NOSTRIP))
184
+ else
185
+ $(eval $(call target,PNGOUT,PNGOUT_LINUX,,NOSTRIP))
186
+ endif
171
187
  $(eval $(call target,PNGQUANT))
172
188
 
173
189
  # ====== TARGETS ======
@@ -194,7 +210,7 @@ define check_exists
194
210
  endef
195
211
 
196
212
  define check_version
197
- @$(OUTPUT_DIR)/$1 $2 | fgrep -q $3 || \
213
+ @$(OUTPUT_DIR)/$1 $2 | fgrep -q "$3" || \
198
214
  { printf "$1: $(ANSI_RED)Expected $3, got $$($(OUTPUT_DIR)/$1 $2)$(ANSI_RESET)\n"; exit 1; }
199
215
  endef
200
216
 
@@ -248,6 +264,7 @@ test :
248
264
  $(call check_bin,optipng,--version,$(OPTIPNG_VER))
249
265
  $(call check_bin,oxipng,--version,$(OXIPNG_VER))
250
266
  $(call check_bin,pngcrush,-version 2>&1,$(PNGCRUSH_VER))
267
+ $(call check_bin,pngout,2>&1,$(shell perl -mTime::Piece -e 'print Time::Piece->strptime("$(PNGOUT_VER)", "%Y%m%d")->strftime("%b %e %Y")'))
251
268
  $(call check_bin,pngquant,--help,$(PNGQUANT_VER))
252
269
  .PHONY : test
253
270
 
@@ -266,15 +283,25 @@ DOCKER_TAG := $(shell date +%Y%m%d)
266
283
 
267
284
  docker-build : download
268
285
  @docker build \
286
+ --pull \
269
287
  $(foreach archive,$(ARCHIVES),--build-arg $(archive)_VER=$($(archive)_VER) --build-arg $(archive)_SHA256=$($(archive)_SHA256)) \
270
- -t $(DOCKER_IMAGE):$(DOCKER_TAG) \
271
288
  -t $(DOCKER_IMAGE):latest \
272
289
  .
290
+ @docker tag \
291
+ $(DOCKER_IMAGE):latest \
292
+ $(DOCKER_IMAGE):$(DOCKER_TAG)
273
293
  .PHONY : docker-build
274
294
 
275
- docker-push : docker-build
276
- @docker push $(DOCKER_IMAGE):$(DOCKER_TAG)
295
+ docker-test : docker-build
296
+ @docker run \
297
+ --rm \
298
+ $(DOCKER_IMAGE):latest \
299
+ --info
300
+ .PHONY : docker-test
301
+
302
+ docker-push : docker-test
277
303
  @docker push $(DOCKER_IMAGE):latest
304
+ @docker push $(DOCKER_IMAGE):$(DOCKER_TAG)
278
305
  .PHONY : docker-push
279
306
 
280
307
  # ====== CLEAN ======
@@ -480,6 +507,13 @@ $(PNGCRUSH_TARGET) :
480
507
  LDFLAGS="$(XORIGIN) $(LDFLAGS)"
481
508
  $(call chrpath_origin,$@)
482
509
 
510
+ ## pngout
511
+ $(PNGOUT_TARGET) :
512
+ ifdef IS_LINUX
513
+ cd $(DIR) && ln -sf $(ARCH:x86_64=amd64)/pngout .
514
+ endif
515
+ cd $(DIR) && touch pngout
516
+
483
517
  ## pngquant
484
518
  $(eval $(call depend,PNGQUANT,LIBLCMS LIBPNG LIBZ))
485
519
  $(PNGQUANT_TARGET) :
data/README.markdown CHANGED
@@ -38,6 +38,9 @@ A test application with latest `image_optim` and `image_optim_pack` is available
38
38
  * [oxipng](https://github.com/shssoichiro/oxipng) by Joshua Holmer ([license](acknowledgements/oxipng.txt))
39
39
  * [pngcrush](https://pmt.sourceforge.io/pngcrush/) by Glenn Randers-Pehrson, portions by Greg Roelofs ([license](acknowledgements/pngcrush.txt))
40
40
  * contains [cexcept](http://www.nicemice.net/cexcept/) interface by Adam M. Costello and Cosmin Truta ([license](acknowledgements/cexcept.txt))
41
+ * [pngout](http://advsys.net/ken/utils.htm) by Ken Silverman ([license](acknowledgements/pngout.txt))
42
+ * Linux and BSD ports by Jonathon Fowler (http://www.jonof.id.au/pngout)
43
+ * Mac OS X port by Ken Silverman, with assistance by Jonathon Fowler
41
44
  * [pngquant](https://pngquant.org/) by Kornel Lesiński based on code by Greg Roelofs and Jef Poskanzer after an idea by Stefan Schneider ([license](acknowledgements/pngquant.txt))
42
45
  * [zlib](https://zlib.net/) by Jean-Loup Gailly and Mark Adler ([license](acknowledgements/zlib.txt))
43
46
 
@@ -0,0 +1,9 @@
1
+ PNGOUT / KZIP license:
2
+
3
+ I have gotten a lot of requests about bundling the command line executables, or releasing the source code to KZIP and PNGOUT. This is my license (updated 01/16/2021):
4
+
5
+ * The command line versions of PNGOUT.EXE and KZIP.EXE are free for use, as are the Mac and Linux ports.
6
+ * You may use PNGOUT- or KZIP-compressed content for non-commercial or commercial purposes.
7
+ * Redistributing, repackaging, or reusing the PNGOUT or KZIP executable is permitted for non-commercial projects that are distributed freely.
8
+ * For commercial requests (such as bundling with a commercial product), please write to my business partner, David Blake.
9
+ * When bundling, my credit (both my name and website) must be clearly displayed in some reasonable fashion that can be seen by an average user.
data/checksums.mk CHANGED
@@ -1,14 +1,17 @@
1
- ADVANCECOMP_SHA256 := 3ac0875e86a8517011976f04107186d5c60d434954078bc502ee731480933eb8
1
+ ADVANCECOMP_SHA256 := 811f661dfbbdddefdcb5eaf133e403ca2af99328b850b22c1249f7bebe657578
2
2
  GIFSICLE_SHA256 := 92f67079732bf4c1da087e6ae0905205846e5ac777ba5caa66d12a73aa943447
3
3
  JHEAD_SHA256 := ef89bbcf4f6c25ed88088cf242a47a6aedfff4f08cc7dc205bf3e2c0f10a03c9
4
4
  JPEGARCHIVE_SHA256 := 3da16a5abbddd925dee0379aa51d9fe0cba33da0b5703be27c13a2dda3d7ed75
5
- JPEGOPTIM_SHA256 := 88b1eb64c2a33a2f013f068df8b0331f42c019267401ae3fa28e3277403a5ab7
5
+ JPEGOPTIM_SHA256 := c52616f2fb8d481315871680f9943b0f58c553d1e0c49a6bd4691a3e66d7e6de
6
6
  LIBJPEG_SHA256 := 4077d6a6a75aeb01884f708919d25934c93305e49f7e3f36db9129320e6f4f3d
7
- LIBLCMS_SHA256 := 18663985e864100455ac3e507625c438c3710354d85e5cbb7cd4043e11fe10f5
7
+ LIBLCMS_SHA256 := 0c67a5cc144029cfa34647a52809ec399aae488db4258a6a66fba318474a070f
8
8
  LIBMOZJPEG_SHA256 := 4f22731db2afa14531a5bf2633d8af79ca5cb697a550f678bf43f24e5e409ef0
9
9
  LIBPNG_SHA256 := daeb2620d829575513e35fecc83f0d3791a620b9b93d800b763542ece9390fb4
10
10
  LIBZ_SHA256 := c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1
11
11
  OPTIPNG_SHA256 := 4f32f233cef870b3f95d3ad6428bfe4224ef34908f1b42b0badf858216654452
12
12
  OXIPNG_SHA256 := aff72d2f627617f3f36d9796e65b83eb34f24d2c94f3a55612ade2df8ab8d946
13
13
  PNGCRUSH_SHA256 := fed0aaf5c098aa8c7f78c75365cd18d7341417326ecbdba547876b7b4f3df4be
14
+ PNGOUT_LINUX_SHA256 := ac38bba6f0de29033de866538c3afa64341319b695bbe388efbc5fd9e830e928
15
+ PNGOUT_LINUX_STATIC_SHA256 := 7a78ea475d65a00981bf418e5dfa3b34e42d6460fb992340802873bb14b08597
16
+ PNGOUT_DARWIN_SHA256 := 3272fa947eeafc1ac0086e1f14935f9efa21d090a555e6892255fe5c88f6686e
14
17
  PNGQUANT_SHA256 := a27cf0e64db499ccb3ddae9b36036e881f78293e46ec27a9e7a86a3802fcda66
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = 'image_optim_pack'
5
- s.version = '0.8.0.20220117'
5
+ s.version = '0.9.0'
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']
data/script/livecheck CHANGED
@@ -208,6 +208,9 @@ oxipng:
208
208
  pngcrush:
209
209
  url: https://sourceforge.net/projects/pmt/rss?path=/pngcrush
210
210
  regexp: /pngcrush/(\d+(?:\.\d+)*)/
211
+ pngout:
212
+ url: http://www.jonof.id.au/kenutils.html
213
+ regexp: /files/kenutils/pngout-(\d{8})-linux.tar.gz
211
214
  pngquant:
212
215
  url: https://pngquant.org/releases.html
213
216
  regexp: <span itemprop='version'>(\d+(?:\.\d+)*)</span>
@@ -36,9 +36,9 @@ version_time = begin
36
36
  end.sort
37
37
  time_pairs << [nil, Time.now]
38
38
 
39
- time_pairs.each_cons(2).map do |(version_n, created_at), (_, next_created_at)|
39
+ time_pairs.each_cons(2).to_h do |(version_n, created_at), (_, next_created_at)|
40
40
  [version_n, next_created_at - created_at]
41
- end.to_h
41
+ end
42
42
  end
43
43
 
44
44
  table = Terminal::Table.new
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.8.0.20220117
4
+ version: 0.9.0
5
5
  platform: x86-linux
6
6
  authors:
7
7
  - Ivan Kuchin
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-01-17 00:00:00.000000000 Z
11
+ date: 2022-06-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: image_optim
@@ -100,6 +100,7 @@ extra_rdoc_files: []
100
100
  files:
101
101
  - ".dockerignore"
102
102
  - ".github/workflows/check.yml"
103
+ - ".github/workflows/docker-build.yml"
103
104
  - ".github/workflows/rubocop.yml"
104
105
  - ".gitignore"
105
106
  - ".rubocop.yml"
@@ -130,6 +131,7 @@ files:
130
131
  - acknowledgements/optipng.txt
131
132
  - acknowledgements/oxipng.txt
132
133
  - acknowledgements/pngcrush.txt
134
+ - acknowledgements/pngout.txt
133
135
  - acknowledgements/pngquant.txt
134
136
  - acknowledgements/smallfry.txt
135
137
  - acknowledgements/zlib.txt
@@ -169,6 +171,7 @@ files:
169
171
  - vendor/linux-i686/optipng
170
172
  - vendor/linux-i686/oxipng
171
173
  - vendor/linux-i686/pngcrush
174
+ - vendor/linux-i686/pngout
172
175
  - vendor/linux-i686/pngquant
173
176
  homepage: https://github.com/toy/image_optim_pack
174
177
  licenses:
@@ -176,7 +179,7 @@ licenses:
176
179
  metadata:
177
180
  bug_tracker_uri: https://github.com/toy/image_optim_pack/issues
178
181
  changelog_uri: https://github.com/toy/image_optim_pack/blob/master/CHANGELOG.markdown
179
- documentation_uri: https://www.rubydoc.info/gems/image_optim_pack/0.8.0.20220117
182
+ documentation_uri: https://www.rubydoc.info/gems/image_optim_pack/0.9.0
180
183
  source_code_uri: https://github.com/toy/image_optim_pack
181
184
  post_install_message:
182
185
  rdoc_options: []
@@ -193,7 +196,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
193
196
  - !ruby/object:Gem::Version
194
197
  version: '0'
195
198
  requirements: []
196
- rubygems_version: 3.3.5
199
+ rubygems_version: 3.3.11
197
200
  signing_key:
198
201
  specification_version: 4
199
202
  summary: 'Precompiled binaries for image_optim: advpng, gifsicle, jhead, jpeg-recompress,