image_optim_pack 0.12.2.20260327-x86_64-linux → 0.13.1-x86_64-linux
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 +4 -4
- data/.github/dependabot.yml +3 -1
- data/.github/workflows/build.yml +44 -24
- data/.github/workflows/check.yml +1 -2
- data/.rubocop.yml +3 -0
- data/CHANGELOG.markdown +12 -0
- data/Dockerfile +83 -83
- data/Dockerfile.debian +98 -92
- data/Makefile +41 -27
- data/checksums.mk +1 -1
- data/image_optim_pack-linux-aarch64-gnu.gemspec +3 -0
- data/image_optim_pack-linux-aarch64-musl.gemspec +3 -0
- data/image_optim_pack-linux-aarch64.gemspec +3 -0
- data/image_optim_pack-linux-x86_64-gnu.gemspec +3 -0
- data/image_optim_pack-linux-x86_64-musl.gemspec +3 -0
- data/image_optim_pack.gemspec +29 -21
- data/lib/image_optim/pack.rb +22 -5
- data/script/platform_downloads +6 -2
- data/script/run +36 -9
- data/spec/image_optim/pack_spec.rb +8 -2
- data/vendor/{linux-x86_64 → linux-x86_64-gnu}/libpng.so +0 -0
- data/vendor/{linux-x86_64 → linux-x86_64-gnu}/optipng +0 -0
- data/vendor/{linux-x86_64 → linux-x86_64-gnu}/pngcrush +0 -0
- data/vendor/{linux-x86_64 → linux-x86_64-gnu}/pngquant +0 -0
- data/vendor/linux-x86_64-musl/advpng +0 -0
- data/vendor/linux-x86_64-musl/gifsicle +0 -0
- data/vendor/linux-x86_64-musl/jhead +0 -0
- data/vendor/linux-x86_64-musl/jpeg-recompress +0 -0
- data/vendor/linux-x86_64-musl/jpegoptim +0 -0
- data/vendor/linux-x86_64-musl/jpegtran +0 -0
- data/vendor/linux-x86_64-musl/libjpeg.so +0 -0
- data/vendor/linux-x86_64-musl/liblcms2.so +0 -0
- data/vendor/linux-x86_64-musl/libpng.so +0 -0
- data/vendor/linux-x86_64-musl/libz.so +0 -0
- data/vendor/linux-x86_64-musl/optipng +0 -0
- data/vendor/linux-x86_64-musl/oxipng +0 -0
- data/vendor/linux-x86_64-musl/pngcrush +0 -0
- data/vendor/linux-x86_64-musl/pngout +0 -0
- data/vendor/linux-x86_64-musl/pngquant +0 -0
- metadata +37 -17
- /data/vendor/{linux-x86_64 → linux-x86_64-gnu}/advpng +0 -0
- /data/vendor/{linux-x86_64 → linux-x86_64-gnu}/gifsicle +0 -0
- /data/vendor/{linux-x86_64 → linux-x86_64-gnu}/jhead +0 -0
- /data/vendor/{linux-x86_64 → linux-x86_64-gnu}/jpeg-recompress +0 -0
- /data/vendor/{linux-x86_64 → linux-x86_64-gnu}/jpegoptim +0 -0
- /data/vendor/{linux-x86_64 → linux-x86_64-gnu}/jpegtran +0 -0
- /data/vendor/{linux-x86_64 → linux-x86_64-gnu}/libjpeg.so +0 -0
- /data/vendor/{linux-x86_64 → linux-x86_64-gnu}/liblcms2.so +0 -0
- /data/vendor/{linux-x86_64 → linux-x86_64-gnu}/libz.so +0 -0
- /data/vendor/{linux-x86_64 → linux-x86_64-gnu}/oxipng +0 -0
- /data/vendor/{linux-x86_64 → linux-x86_64-gnu}/pngout +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 71edca8cf69e12178f62f90919d94a937f16cdb274e1409b372a13485516dace
|
|
4
|
+
data.tar.gz: 7d608bd2ea4bb60cb7e64cf8be14cbe824965ed94e762766af527fc270d99aff
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 93b155c67ac4dff0248cf1b6cb9cacb3beeee80081b4acb52326326485e011075b2405bcd2bef6e8d924e7a50fe40f20cffa92714d538e249dcc5b6c1919c719
|
|
7
|
+
data.tar.gz: 8628cbf16837ef600e7cd9536641cc04ef15639986c2d2691e56d3be9a41929c9674f79b608897771ccbacb7057fa05a3bca779c67ba36e05326cffebf42a1af
|
data/.github/dependabot.yml
CHANGED
data/.github/workflows/build.yml
CHANGED
|
@@ -3,45 +3,65 @@ on:
|
|
|
3
3
|
push:
|
|
4
4
|
pull_request:
|
|
5
5
|
jobs:
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
linux-gnu-build:
|
|
7
|
+
strategy:
|
|
8
|
+
fail-fast: false
|
|
9
|
+
matrix:
|
|
10
|
+
arch: [x86_64, aarch64]
|
|
11
|
+
runs-on: ${{ case(matrix.arch == 'x86_64', 'ubuntu-latest', 'ubuntu-22.04-arm') }}
|
|
8
12
|
steps:
|
|
9
13
|
- uses: actions/checkout@v6
|
|
10
|
-
- run: uname -m
|
|
14
|
+
- run: uname -m && test "$(uname -m)" = "${{ matrix.arch }}"
|
|
15
|
+
- run: make test
|
|
16
|
+
- run: rm -r vendor
|
|
11
17
|
- run: sudo apt-get install -y chrpath
|
|
12
|
-
- run: rustup target list --installed
|
|
13
18
|
- run: make download download-dependencies
|
|
14
|
-
- run:
|
|
15
|
-
- run: make all
|
|
19
|
+
- run: make all -j
|
|
16
20
|
- uses: actions/upload-artifact@v7
|
|
17
21
|
with:
|
|
18
|
-
name:
|
|
22
|
+
name: ${{ github.job }}-${{ matrix.arch }}
|
|
19
23
|
path: vendor/
|
|
20
|
-
|
|
21
|
-
|
|
24
|
+
|
|
25
|
+
linux-musl-build:
|
|
26
|
+
strategy:
|
|
27
|
+
fail-fast: false
|
|
28
|
+
matrix:
|
|
29
|
+
arch: [x86_64, aarch64]
|
|
30
|
+
runs-on: ${{ case(matrix.arch == 'x86_64', 'ubuntu-latest', 'ubuntu-22.04-arm') }}
|
|
22
31
|
steps:
|
|
23
32
|
- uses: actions/checkout@v6
|
|
24
|
-
- run:
|
|
25
|
-
- run:
|
|
26
|
-
- run: make
|
|
27
|
-
- run:
|
|
28
|
-
- run:
|
|
29
|
-
- run:
|
|
33
|
+
- run: docker run -di --rm --name build -v ${{ github.workspace }}:/work -w /work rust:alpine
|
|
34
|
+
- run: docker exec build sh -c 'uname -m && test "$(uname -m)" = "${{ matrix.arch }}"'
|
|
35
|
+
- run: docker exec build apk add --no-cache make file perl
|
|
36
|
+
- run: docker exec build make test
|
|
37
|
+
- run: docker exec build rm -r vendor
|
|
38
|
+
- run: docker exec build apk add --no-cache gcc g++ chrpath pkgconf autoconf automake libtool nasm cmake patch wget
|
|
39
|
+
- run: docker exec build make download download-dependencies
|
|
40
|
+
- run: docker exec build make all -j
|
|
41
|
+
- run: docker stop build
|
|
42
|
+
if: always()
|
|
30
43
|
- uses: actions/upload-artifact@v7
|
|
31
44
|
with:
|
|
32
|
-
name:
|
|
45
|
+
name: ${{ github.job }}-${{ matrix.arch }}
|
|
33
46
|
path: vendor/
|
|
34
|
-
|
|
35
|
-
|
|
47
|
+
|
|
48
|
+
darwin-build:
|
|
49
|
+
strategy:
|
|
50
|
+
fail-fast: false
|
|
51
|
+
matrix:
|
|
52
|
+
arch: [x86_64, arm64]
|
|
53
|
+
build: [x86_64, arm64]
|
|
54
|
+
runs-on: ${{ case(matrix.arch == 'x86_64', 'macos-15-intel', 'macos-14') }}
|
|
36
55
|
steps:
|
|
37
56
|
- uses: actions/checkout@v6
|
|
38
|
-
- run: uname -m
|
|
39
|
-
- run:
|
|
40
|
-
- run: make download download-dependencies
|
|
57
|
+
- run: uname -m && test "$(uname -m)" = "${{ matrix.arch }}"
|
|
58
|
+
- run: make test ARCH="${{ matrix.build }}"
|
|
41
59
|
- run: rm -r vendor
|
|
42
|
-
- run: make
|
|
43
|
-
- run:
|
|
60
|
+
- run: make download download-dependencies
|
|
61
|
+
- run: rustup target add "${{ case(matrix.build == 'arm64', 'aarch64', matrix.build) }}-apple-darwin"
|
|
62
|
+
if: ${{ matrix.build != matrix.arch }}
|
|
63
|
+
- run: make all -j ARCH="${{ matrix.build }}"
|
|
44
64
|
- uses: actions/upload-artifact@v7
|
|
45
65
|
with:
|
|
46
|
-
name:
|
|
66
|
+
name: ${{ github.job }}-${{ matrix.arch }}-build-${{ matrix.build }}
|
|
47
67
|
path: vendor/
|
data/.github/workflows/check.yml
CHANGED
data/.rubocop.yml
CHANGED
data/CHANGELOG.markdown
CHANGED
|
@@ -2,6 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
## unreleased
|
|
4
4
|
|
|
5
|
+
## v0.13.1 (2026-04-12)
|
|
6
|
+
|
|
7
|
+
* Add linux-x86_64 and linux-aarch64 platforms including two vendor dirs each [@toy](https://github.com/toy)
|
|
8
|
+
* libpng 1.6.57 [@toy](https://github.com/toy)
|
|
9
|
+
* Don't require presence of `git` in gemspec [@toy](https://github.com/toy)
|
|
10
|
+
|
|
11
|
+
## v0.13.0 (2026-04-04)
|
|
12
|
+
|
|
13
|
+
* Add linux-x86_64-musl and linux-aarch64-musl builds [@toy](https://github.com/toy)
|
|
14
|
+
* Differentiate linux platform and vendor dirs using libc suffix [@toy](https://github.com/toy)
|
|
15
|
+
* Add linux-aarch64/arm64 platform built using debian bookworm [@toy](https://github.com/toy)
|
|
16
|
+
|
|
5
17
|
## v0.12.2.20260327 (2026-03-27)
|
|
6
18
|
|
|
7
19
|
* libpng 1.6.56 [@toy](https://github.com/toy)
|
data/Dockerfile
CHANGED
|
@@ -1,161 +1,161 @@
|
|
|
1
|
-
FROM alpine
|
|
1
|
+
FROM alpine AS base
|
|
2
2
|
ENV LD_LIBRARY_PATH=/usr/local/lib
|
|
3
3
|
WORKDIR /tmp
|
|
4
4
|
|
|
5
|
-
FROM base
|
|
5
|
+
FROM base AS build
|
|
6
6
|
RUN apk add --no-cache build-base cmake nasm bash findutils
|
|
7
7
|
COPY script/extract ./
|
|
8
8
|
ENV CPATH=/usr/local/include
|
|
9
9
|
|
|
10
|
-
FROM rust:1-alpine
|
|
10
|
+
FROM rust:1-alpine AS cargo
|
|
11
11
|
RUN apk add --no-cache build-base
|
|
12
12
|
COPY script/extract ./
|
|
13
13
|
|
|
14
|
-
FROM cargo
|
|
14
|
+
FROM cargo AS libz
|
|
15
15
|
ARG LIBZ_VER
|
|
16
16
|
ARG LIBZ_SHA256
|
|
17
17
|
COPY download/libz-$LIBZ_VER.tar.gz download/
|
|
18
|
-
RUN ./extract libz
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
RUN ./extract libz \
|
|
19
|
+
&& cd build/libz \
|
|
20
|
+
&& ./configure \
|
|
21
|
+
&& make install
|
|
22
22
|
|
|
23
|
-
FROM libz
|
|
23
|
+
FROM libz AS libpng
|
|
24
24
|
ARG LIBPNG_VER
|
|
25
25
|
ARG LIBPNG_SHA256
|
|
26
26
|
COPY download/libpng-$LIBPNG_VER.tar.gz download/
|
|
27
|
-
RUN ./extract libpng
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
27
|
+
RUN ./extract libpng \
|
|
28
|
+
&& cd build/libpng \
|
|
29
|
+
&& ./configure --with-zlib-prefix=/usr/local \
|
|
30
|
+
&& make install
|
|
31
31
|
|
|
32
|
-
FROM libpng
|
|
32
|
+
FROM libpng AS liblcms2
|
|
33
33
|
ARG LIBLCMS2_VER
|
|
34
34
|
ARG LIBLCMS2_SHA256
|
|
35
35
|
COPY download/liblcms2-$LIBLCMS2_VER.tar.gz download/
|
|
36
|
-
RUN ./extract liblcms2
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
36
|
+
RUN ./extract liblcms2 \
|
|
37
|
+
&& cd build/liblcms2 \
|
|
38
|
+
&& ./configure \
|
|
39
|
+
&& make install
|
|
40
40
|
|
|
41
|
-
FROM build
|
|
41
|
+
FROM build AS libjpeg
|
|
42
42
|
ARG LIBJPEG_VER
|
|
43
43
|
ARG LIBJPEG_SHA256
|
|
44
44
|
COPY download/libjpeg-$LIBJPEG_VER.tar.gz download/
|
|
45
|
-
RUN ./extract libjpeg
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
45
|
+
RUN ./extract libjpeg \
|
|
46
|
+
&& cd build/libjpeg \
|
|
47
|
+
&& ./configure \
|
|
48
|
+
&& make install
|
|
49
49
|
|
|
50
|
-
FROM build
|
|
50
|
+
FROM build AS libmozjpeg
|
|
51
51
|
ARG LIBMOZJPEG_VER
|
|
52
52
|
ARG LIBMOZJPEG_SHA256
|
|
53
53
|
COPY download/libmozjpeg-$LIBMOZJPEG_VER.tar.gz download/
|
|
54
|
-
RUN ./extract libmozjpeg
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
54
|
+
RUN ./extract libmozjpeg \
|
|
55
|
+
&& cd build/libmozjpeg \
|
|
56
|
+
&& cmake -DPNG_SUPPORTED=0 -DCMAKE_POLICY_VERSION_MINIMUM=3.5 . \
|
|
57
|
+
&& make install
|
|
58
58
|
|
|
59
|
-
FROM libpng
|
|
59
|
+
FROM libpng AS advancecomp
|
|
60
60
|
ARG ADVANCECOMP_VER
|
|
61
61
|
ARG ADVANCECOMP_SHA256
|
|
62
62
|
COPY download/advancecomp-$ADVANCECOMP_VER.tar.gz download/
|
|
63
|
-
RUN ./extract advancecomp
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
63
|
+
RUN ./extract advancecomp \
|
|
64
|
+
&& cd build/advancecomp \
|
|
65
|
+
&& ./configure \
|
|
66
|
+
&& make install
|
|
67
67
|
|
|
68
|
-
FROM build
|
|
68
|
+
FROM build AS gifsicle
|
|
69
69
|
ARG GIFSICLE_VER
|
|
70
70
|
ARG GIFSICLE_SHA256
|
|
71
71
|
COPY download/gifsicle-$GIFSICLE_VER.tar.gz download/
|
|
72
|
-
RUN ./extract gifsicle
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
72
|
+
RUN ./extract gifsicle \
|
|
73
|
+
&& cd build/gifsicle \
|
|
74
|
+
&& ./configure \
|
|
75
|
+
&& make install
|
|
76
76
|
|
|
77
|
-
FROM build
|
|
77
|
+
FROM build AS jhead
|
|
78
78
|
ARG JHEAD_VER
|
|
79
79
|
ARG JHEAD_SHA256
|
|
80
80
|
COPY download/jhead-$JHEAD_VER.tar.gz download/
|
|
81
|
-
RUN ./extract jhead
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
81
|
+
RUN ./extract jhead \
|
|
82
|
+
&& cd build/jhead \
|
|
83
|
+
&& make \
|
|
84
|
+
&& install -c jhead /usr/local/bin
|
|
85
85
|
|
|
86
|
-
FROM libmozjpeg
|
|
86
|
+
FROM libmozjpeg AS jpegarchive
|
|
87
87
|
ARG JPEGARCHIVE_VER
|
|
88
88
|
ARG JPEGARCHIVE_SHA256
|
|
89
89
|
COPY download/jpegarchive-$JPEGARCHIVE_VER.tar.gz download/
|
|
90
|
-
RUN ./extract jpegarchive
|
|
91
|
-
|
|
92
|
-
|
|
90
|
+
RUN ./extract jpegarchive \
|
|
91
|
+
&& cd build/jpegarchive \
|
|
92
|
+
&& CFLAGS=-fcommon make install
|
|
93
93
|
|
|
94
|
-
FROM libjpeg
|
|
94
|
+
FROM libjpeg AS jpegoptim
|
|
95
95
|
ARG JPEGOPTIM_VER
|
|
96
96
|
ARG JPEGOPTIM_SHA256
|
|
97
97
|
COPY download/jpegoptim-$JPEGOPTIM_VER.tar.gz download/
|
|
98
|
-
RUN ./extract jpegoptim
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
98
|
+
RUN ./extract jpegoptim \
|
|
99
|
+
&& cd build/jpegoptim \
|
|
100
|
+
&& ./configure \
|
|
101
|
+
&& make install
|
|
102
102
|
|
|
103
|
-
FROM libpng
|
|
103
|
+
FROM libpng AS optipng
|
|
104
104
|
ARG OPTIPNG_VER
|
|
105
105
|
ARG OPTIPNG_SHA256
|
|
106
106
|
COPY download/optipng-$OPTIPNG_VER.tar.gz download/
|
|
107
|
-
RUN ./extract optipng
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
107
|
+
RUN ./extract optipng \
|
|
108
|
+
&& cd build/optipng \
|
|
109
|
+
&& ./configure \
|
|
110
|
+
&& make install
|
|
111
111
|
|
|
112
|
-
FROM cargo
|
|
112
|
+
FROM cargo AS oxipng
|
|
113
113
|
ARG OXIPNG_VER
|
|
114
114
|
ARG OXIPNG_SHA256
|
|
115
115
|
COPY download/oxipng-$OXIPNG_VER.tar.gz download/
|
|
116
|
-
RUN ./extract oxipng
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
116
|
+
RUN ./extract oxipng \
|
|
117
|
+
&& cd build/oxipng \
|
|
118
|
+
&& cargo build --release \
|
|
119
|
+
&& install -c target/release/oxipng /usr/local/bin
|
|
120
120
|
|
|
121
|
-
FROM libpng
|
|
121
|
+
FROM libpng AS pngcrush
|
|
122
122
|
ARG PNGCRUSH_VER
|
|
123
123
|
ARG PNGCRUSH_SHA256
|
|
124
124
|
COPY download/pngcrush-$PNGCRUSH_VER.tar.gz download/
|
|
125
125
|
COPY patches/pngcrush.patch patches/
|
|
126
|
-
RUN ./extract pngcrush
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
126
|
+
RUN ./extract pngcrush \
|
|
127
|
+
&& cd build/pngcrush \
|
|
128
|
+
&& patch < ../../patches/pngcrush.patch \
|
|
129
|
+
&& make \
|
|
130
|
+
&& install -c pngcrush /usr/local/bin
|
|
131
131
|
|
|
132
|
-
FROM build
|
|
132
|
+
FROM build AS pngout
|
|
133
133
|
ARG PNGOUT_LINUX_STATIC_VER
|
|
134
134
|
ARG PNGOUT_LINUX_STATIC_SHA256
|
|
135
135
|
COPY download/pngout_linux_static-$PNGOUT_LINUX_STATIC_VER.tar.gz download/
|
|
136
|
-
RUN ./extract pngout_linux_static
|
|
137
|
-
|
|
138
|
-
|
|
136
|
+
RUN ./extract pngout_linux_static \
|
|
137
|
+
&& cd build/pngout_linux_static \
|
|
138
|
+
&& cp amd64/pngout-static /usr/local/bin/pngout
|
|
139
139
|
|
|
140
|
-
FROM liblcms2
|
|
140
|
+
FROM liblcms2 AS pngquant
|
|
141
141
|
ARG PNGQUANT_VER
|
|
142
142
|
ARG PNGQUANT_SHA256
|
|
143
143
|
COPY download/pngquant-$PNGQUANT_VER.tar.gz download/
|
|
144
|
-
RUN ./extract pngquant
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
144
|
+
RUN ./extract pngquant \
|
|
145
|
+
&& cd build/pngquant \
|
|
146
|
+
&& cargo build --release \
|
|
147
|
+
&& install -c target/release/pngquant /usr/local/bin
|
|
148
148
|
|
|
149
|
-
# FROM build
|
|
149
|
+
# FROM build AS [name]
|
|
150
150
|
# ARG [NAME]_VER
|
|
151
151
|
# ARG [NAME]_SHA256
|
|
152
152
|
# COPY download/[name]-$[NAME]_VER.tar.gz download/
|
|
153
|
-
# RUN ./extract [name]
|
|
154
|
-
#
|
|
155
|
-
#
|
|
156
|
-
#
|
|
153
|
+
# RUN ./extract [name] \
|
|
154
|
+
# && cd build/[name] \
|
|
155
|
+
# && ./configure \
|
|
156
|
+
# && make install
|
|
157
157
|
|
|
158
|
-
FROM base
|
|
158
|
+
FROM base AS image_optim
|
|
159
159
|
RUN apk add --no-cache libstdc++ ruby npm perl dumb-init
|
|
160
160
|
|
|
161
161
|
COPY README.markdown /
|
data/Dockerfile.debian
CHANGED
|
@@ -1,162 +1,168 @@
|
|
|
1
|
-
FROM debian
|
|
1
|
+
FROM debian AS base
|
|
2
2
|
ENV LD_LIBRARY_PATH=/usr/local/lib
|
|
3
3
|
WORKDIR /tmp
|
|
4
4
|
|
|
5
|
-
FROM base
|
|
6
|
-
RUN apt-get update
|
|
5
|
+
FROM base AS build
|
|
6
|
+
RUN apt-get update \
|
|
7
|
+
&& apt-get install -y --no-install-recommends build-essential cmake nasm bash findutils \
|
|
8
|
+
&& rm -rf /var/lib/apt/lists/*
|
|
7
9
|
COPY script/extract ./
|
|
8
10
|
ENV CPATH=/usr/local/include
|
|
9
11
|
|
|
10
|
-
FROM rust:1
|
|
11
|
-
RUN apt-get update
|
|
12
|
+
FROM rust:1 AS cargo
|
|
13
|
+
RUN apt-get update \
|
|
14
|
+
&& apt-get install -y --no-install-recommends build-essential \
|
|
15
|
+
&& rm -rf /var/lib/apt/lists/*
|
|
12
16
|
COPY script/extract ./
|
|
13
17
|
|
|
14
|
-
FROM cargo
|
|
18
|
+
FROM cargo AS libz
|
|
15
19
|
ARG LIBZ_VER
|
|
16
20
|
ARG LIBZ_SHA256
|
|
17
21
|
COPY download/libz-$LIBZ_VER.tar.gz download/
|
|
18
|
-
RUN ./extract libz
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
+
RUN ./extract libz \
|
|
23
|
+
&& cd build/libz \
|
|
24
|
+
&& ./configure \
|
|
25
|
+
&& make install
|
|
22
26
|
|
|
23
|
-
FROM libz
|
|
27
|
+
FROM libz AS libpng
|
|
24
28
|
ARG LIBPNG_VER
|
|
25
29
|
ARG LIBPNG_SHA256
|
|
26
30
|
COPY download/libpng-$LIBPNG_VER.tar.gz download/
|
|
27
|
-
RUN ./extract libpng
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
+
RUN ./extract libpng \
|
|
32
|
+
&& cd build/libpng \
|
|
33
|
+
&& ./configure --with-zlib-prefix=/usr/local \
|
|
34
|
+
&& make install
|
|
31
35
|
|
|
32
|
-
FROM libpng
|
|
36
|
+
FROM libpng AS liblcms2
|
|
33
37
|
ARG LIBLCMS2_VER
|
|
34
38
|
ARG LIBLCMS2_SHA256
|
|
35
39
|
COPY download/liblcms2-$LIBLCMS2_VER.tar.gz download/
|
|
36
|
-
RUN ./extract liblcms2
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
+
RUN ./extract liblcms2 \
|
|
41
|
+
&& cd build/liblcms2 \
|
|
42
|
+
&& ./configure \
|
|
43
|
+
&& make install
|
|
40
44
|
|
|
41
|
-
FROM build
|
|
45
|
+
FROM build AS libjpeg
|
|
42
46
|
ARG LIBJPEG_VER
|
|
43
47
|
ARG LIBJPEG_SHA256
|
|
44
48
|
COPY download/libjpeg-$LIBJPEG_VER.tar.gz download/
|
|
45
|
-
RUN ./extract libjpeg
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
+
RUN ./extract libjpeg \
|
|
50
|
+
&& cd build/libjpeg \
|
|
51
|
+
&& ./configure \
|
|
52
|
+
&& make install
|
|
49
53
|
|
|
50
|
-
FROM build
|
|
54
|
+
FROM build AS libmozjpeg
|
|
51
55
|
ARG LIBMOZJPEG_VER
|
|
52
56
|
ARG LIBMOZJPEG_SHA256
|
|
53
57
|
COPY download/libmozjpeg-$LIBMOZJPEG_VER.tar.gz download/
|
|
54
|
-
RUN ./extract libmozjpeg
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
+
RUN ./extract libmozjpeg \
|
|
59
|
+
&& cd build/libmozjpeg \
|
|
60
|
+
&& cmake -DPNG_SUPPORTED=0 -DCMAKE_POLICY_VERSION_MINIMUM=3.5 . \
|
|
61
|
+
&& make install
|
|
58
62
|
|
|
59
|
-
FROM libpng
|
|
63
|
+
FROM libpng AS advancecomp
|
|
60
64
|
ARG ADVANCECOMP_VER
|
|
61
65
|
ARG ADVANCECOMP_SHA256
|
|
62
66
|
COPY download/advancecomp-$ADVANCECOMP_VER.tar.gz download/
|
|
63
|
-
RUN ./extract advancecomp
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
+
RUN ./extract advancecomp \
|
|
68
|
+
&& cd build/advancecomp \
|
|
69
|
+
&& ./configure \
|
|
70
|
+
&& make install
|
|
67
71
|
|
|
68
|
-
FROM build
|
|
72
|
+
FROM build AS gifsicle
|
|
69
73
|
ARG GIFSICLE_VER
|
|
70
74
|
ARG GIFSICLE_SHA256
|
|
71
75
|
COPY download/gifsicle-$GIFSICLE_VER.tar.gz download/
|
|
72
|
-
RUN ./extract gifsicle
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
+
RUN ./extract gifsicle \
|
|
77
|
+
&& cd build/gifsicle \
|
|
78
|
+
&& ./configure \
|
|
79
|
+
&& make install
|
|
76
80
|
|
|
77
|
-
FROM build
|
|
81
|
+
FROM build AS jhead
|
|
78
82
|
ARG JHEAD_VER
|
|
79
83
|
ARG JHEAD_SHA256
|
|
80
84
|
COPY download/jhead-$JHEAD_VER.tar.gz download/
|
|
81
|
-
RUN ./extract jhead
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
+
RUN ./extract jhead \
|
|
86
|
+
&& cd build/jhead \
|
|
87
|
+
&& make \
|
|
88
|
+
&& install -c jhead /usr/local/bin
|
|
85
89
|
|
|
86
|
-
FROM libmozjpeg
|
|
90
|
+
FROM libmozjpeg AS jpegarchive
|
|
87
91
|
ARG JPEGARCHIVE_VER
|
|
88
92
|
ARG JPEGARCHIVE_SHA256
|
|
89
93
|
COPY download/jpegarchive-$JPEGARCHIVE_VER.tar.gz download/
|
|
90
|
-
RUN ./extract jpegarchive
|
|
91
|
-
|
|
92
|
-
|
|
94
|
+
RUN ./extract jpegarchive \
|
|
95
|
+
&& cd build/jpegarchive \
|
|
96
|
+
&& CFLAGS=-fcommon make install
|
|
93
97
|
|
|
94
|
-
FROM libjpeg
|
|
98
|
+
FROM libjpeg AS jpegoptim
|
|
95
99
|
ARG JPEGOPTIM_VER
|
|
96
100
|
ARG JPEGOPTIM_SHA256
|
|
97
101
|
COPY download/jpegoptim-$JPEGOPTIM_VER.tar.gz download/
|
|
98
|
-
RUN ./extract jpegoptim
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
+
RUN ./extract jpegoptim \
|
|
103
|
+
&& cd build/jpegoptim \
|
|
104
|
+
&& ./configure \
|
|
105
|
+
&& make install
|
|
102
106
|
|
|
103
|
-
FROM libpng
|
|
107
|
+
FROM libpng AS optipng
|
|
104
108
|
ARG OPTIPNG_VER
|
|
105
109
|
ARG OPTIPNG_SHA256
|
|
106
110
|
COPY download/optipng-$OPTIPNG_VER.tar.gz download/
|
|
107
|
-
RUN ./extract optipng
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
+
RUN ./extract optipng \
|
|
112
|
+
&& cd build/optipng \
|
|
113
|
+
&& ./configure \
|
|
114
|
+
&& make install
|
|
111
115
|
|
|
112
|
-
FROM cargo
|
|
116
|
+
FROM cargo AS oxipng
|
|
113
117
|
ARG OXIPNG_VER
|
|
114
118
|
ARG OXIPNG_SHA256
|
|
115
119
|
COPY download/oxipng-$OXIPNG_VER.tar.gz download/
|
|
116
|
-
RUN ./extract oxipng
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
+
RUN ./extract oxipng \
|
|
121
|
+
&& cd build/oxipng \
|
|
122
|
+
&& cargo build --release \
|
|
123
|
+
&& install -c target/release/oxipng /usr/local/bin
|
|
120
124
|
|
|
121
|
-
FROM libpng
|
|
125
|
+
FROM libpng AS pngcrush
|
|
122
126
|
ARG PNGCRUSH_VER
|
|
123
127
|
ARG PNGCRUSH_SHA256
|
|
124
128
|
COPY download/pngcrush-$PNGCRUSH_VER.tar.gz download/
|
|
125
129
|
COPY patches/pngcrush.patch patches/
|
|
126
|
-
RUN ./extract pngcrush
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
FROM build
|
|
133
|
-
ARG
|
|
134
|
-
ARG
|
|
135
|
-
COPY download/
|
|
136
|
-
RUN ./extract
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
FROM liblcms2
|
|
130
|
+
RUN ./extract pngcrush \
|
|
131
|
+
&& cd build/pngcrush \
|
|
132
|
+
&& patch < ../../patches/pngcrush.patch \
|
|
133
|
+
&& make \
|
|
134
|
+
&& install -c pngcrush /usr/local/bin
|
|
135
|
+
|
|
136
|
+
FROM build AS pngout
|
|
137
|
+
ARG PNGOUT_LINUX_VER
|
|
138
|
+
ARG PNGOUT_LINUX_SHA256
|
|
139
|
+
COPY download/pngout_linux-$PNGOUT_LINUX_VER.tar.gz download/
|
|
140
|
+
RUN ./extract pngout_linux \
|
|
141
|
+
&& cd build/pngout_linux \
|
|
142
|
+
&& cp amd64/pngout /usr/local/bin/pngout
|
|
143
|
+
|
|
144
|
+
FROM liblcms2 AS pngquant
|
|
141
145
|
ARG PNGQUANT_VER
|
|
142
146
|
ARG PNGQUANT_SHA256
|
|
143
147
|
COPY download/pngquant-$PNGQUANT_VER.tar.gz download/
|
|
144
|
-
RUN ./extract pngquant
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
+
RUN ./extract pngquant \
|
|
149
|
+
&& cd build/pngquant \
|
|
150
|
+
&& cargo build --release \
|
|
151
|
+
&& install -c target/release/pngquant /usr/local/bin
|
|
148
152
|
|
|
149
|
-
# FROM build
|
|
153
|
+
# FROM build AS [name]
|
|
150
154
|
# ARG [NAME]_VER
|
|
151
155
|
# ARG [NAME]_SHA256
|
|
152
156
|
# COPY download/[name]-$[NAME]_VER.tar.gz download/
|
|
153
|
-
# RUN ./extract [name]
|
|
154
|
-
#
|
|
155
|
-
#
|
|
156
|
-
#
|
|
157
|
-
|
|
158
|
-
FROM base
|
|
159
|
-
RUN apt-get update
|
|
157
|
+
# RUN ./extract [name] \
|
|
158
|
+
# && cd build/[name] \
|
|
159
|
+
# && ./configure \
|
|
160
|
+
# && make install
|
|
161
|
+
|
|
162
|
+
FROM base AS image_optim
|
|
163
|
+
RUN apt-get update \
|
|
164
|
+
&& apt-get install -y --no-install-recommends ruby npm perl-base dumb-init \
|
|
165
|
+
&& rm -rf /var/lib/apt/lists/*
|
|
160
166
|
|
|
161
167
|
COPY README.markdown /
|
|
162
168
|
COPY acknowledgements /acknowledgements
|