image_optim_pack 0.13.0-aarch64-linux-gnu

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.
Files changed (77) hide show
  1. checksums.yaml +7 -0
  2. data/.dockerignore +10 -0
  3. data/.github/dependabot.yml +6 -0
  4. data/.github/workflows/build.yml +67 -0
  5. data/.github/workflows/check.yml +34 -0
  6. data/.github/workflows/docker-build.yml +29 -0
  7. data/.github/workflows/livecheck.yml +35 -0
  8. data/.github/workflows/rubocop.yml +16 -0
  9. data/.gitignore +7 -0
  10. data/.rubocop.yml +100 -0
  11. data/CHANGELOG.markdown +623 -0
  12. data/Dockerfile +184 -0
  13. data/Dockerfile.debian +184 -0
  14. data/Gemfile +14 -0
  15. data/LICENSE.txt +27 -0
  16. data/Makefile +573 -0
  17. data/README.markdown +120 -0
  18. data/acknowledgements/7z.txt +56 -0
  19. data/acknowledgements/advancecomp.txt +674 -0
  20. data/acknowledgements/bmp2png.txt +8 -0
  21. data/acknowledgements/cexcept.txt +8 -0
  22. data/acknowledgements/gifread.txt +14 -0
  23. data/acknowledgements/gifsicle.txt +343 -0
  24. data/acknowledgements/iqa.txt +30 -0
  25. data/acknowledgements/jhead.txt +12 -0
  26. data/acknowledgements/jpeg-archive.txt +20 -0
  27. data/acknowledgements/jpegoptim.txt +339 -0
  28. data/acknowledgements/libjpeg-turbo.txt +27 -0
  29. data/acknowledgements/libjpeg-x86-simd.txt +17 -0
  30. data/acknowledgements/libjpeg.txt +64 -0
  31. data/acknowledgements/liblcms2.txt +21 -0
  32. data/acknowledgements/libpng.txt +90 -0
  33. data/acknowledgements/mozjpeg.txt +7 -0
  34. data/acknowledgements/optipng-authors.txt +26 -0
  35. data/acknowledgements/optipng.txt +21 -0
  36. data/acknowledgements/oxipng.txt +20 -0
  37. data/acknowledgements/pngcrush.txt +35 -0
  38. data/acknowledgements/pngout.txt +9 -0
  39. data/acknowledgements/pngquant.txt +56 -0
  40. data/acknowledgements/smallfry.txt +13 -0
  41. data/acknowledgements/zlib.txt +34 -0
  42. data/acknowledgements/zopfli-contributors.txt +6 -0
  43. data/acknowledgements/zopfli.txt +201 -0
  44. data/checksums.mk +17 -0
  45. data/image_optim_pack-darwin-arm64.gemspec +3 -0
  46. data/image_optim_pack-darwin-x86_64.gemspec +3 -0
  47. data/image_optim_pack-linux-aarch64-gnu.gemspec +3 -0
  48. data/image_optim_pack-linux-aarch64-musl.gemspec +3 -0
  49. data/image_optim_pack-linux-x86_64-gnu.gemspec +3 -0
  50. data/image_optim_pack-linux-x86_64-musl.gemspec +3 -0
  51. data/image_optim_pack.gemspec +62 -0
  52. data/lib/image_optim/pack.rb +136 -0
  53. data/lib/image_optim_pack.rb +3 -0
  54. data/patches/pngcrush.patch +15 -0
  55. data/script/extract +19 -0
  56. data/script/livecheck +263 -0
  57. data/script/platform_downloads +59 -0
  58. data/script/run +167 -0
  59. data/spec/image_optim/pack_spec.rb +122 -0
  60. data/spec/image_optim_spec.rb +42 -0
  61. data/spec/spec_helper.rb +10 -0
  62. data/vendor/linux-aarch64-gnu/advpng +0 -0
  63. data/vendor/linux-aarch64-gnu/gifsicle +0 -0
  64. data/vendor/linux-aarch64-gnu/jhead +0 -0
  65. data/vendor/linux-aarch64-gnu/jpeg-recompress +0 -0
  66. data/vendor/linux-aarch64-gnu/jpegoptim +0 -0
  67. data/vendor/linux-aarch64-gnu/jpegtran +0 -0
  68. data/vendor/linux-aarch64-gnu/libjpeg.so +0 -0
  69. data/vendor/linux-aarch64-gnu/liblcms2.so +0 -0
  70. data/vendor/linux-aarch64-gnu/libpng.so +0 -0
  71. data/vendor/linux-aarch64-gnu/libz.so +0 -0
  72. data/vendor/linux-aarch64-gnu/optipng +0 -0
  73. data/vendor/linux-aarch64-gnu/oxipng +0 -0
  74. data/vendor/linux-aarch64-gnu/pngcrush +0 -0
  75. data/vendor/linux-aarch64-gnu/pngout +0 -0
  76. data/vendor/linux-aarch64-gnu/pngquant +0 -0
  77. metadata +202 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 84e3c234c56989d705342690f9ca1a308d6e34353a92e0f1f897bf2544c56176
4
+ data.tar.gz: 169f017305ee7f8303371ba97da626237bc5b2bf8772454c288f3fc30870f58a
5
+ SHA512:
6
+ metadata.gz: b44a8e99184faee30c26bb12ffadedb1045a6343fc2e3e948a8b227a51f9b961ef84fc1b81ed547d5afc9e948e9291ce3b349e9e4afd839f208467d5a2696830
7
+ data.tar.gz: 10c71a1b3af8d456a071d852fdd1918b3e9f31270ece7c327e8e81e521b373570fc900013a4852d4728580b65f79be9144c0ea9db1cac399772965048f47403c
data/.dockerignore ADDED
@@ -0,0 +1,10 @@
1
+ /boxes/
2
+ /.git/
3
+
4
+ /build/
5
+ /.vagrant/
6
+
7
+ Gemfile.lock
8
+ /*.gem
9
+ /.bundle
10
+ /tmp/
@@ -0,0 +1,6 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: github-actions
4
+ directory: /
5
+ schedule:
6
+ interval: weekly
@@ -0,0 +1,67 @@
1
+ name: build
2
+ on:
3
+ push:
4
+ pull_request:
5
+ jobs:
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') }}
12
+ steps:
13
+ - uses: actions/checkout@v6
14
+ - run: uname -m && test "$(uname -m)" = "${{ matrix.arch }}"
15
+ - run: make test
16
+ - run: rm -r vendor
17
+ - run: sudo apt-get install -y chrpath
18
+ - run: make download download-dependencies
19
+ - run: make all -j
20
+ - uses: actions/upload-artifact@v7
21
+ with:
22
+ name: ${{ github.job }}-${{ matrix.arch }}
23
+ path: vendor/
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') }}
31
+ steps:
32
+ - uses: actions/checkout@v6
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()
43
+ - uses: actions/upload-artifact@v7
44
+ with:
45
+ name: ${{ github.job }}-${{ matrix.arch }}
46
+ path: vendor/
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') }}
55
+ steps:
56
+ - uses: actions/checkout@v6
57
+ - run: uname -m && test "$(uname -m)" = "${{ matrix.arch }}"
58
+ - run: make test ARCH="${{ matrix.build }}"
59
+ - run: rm -r vendor
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 }}"
64
+ - uses: actions/upload-artifact@v7
65
+ with:
66
+ name: ${{ github.job }}-${{ matrix.arch }}-build-${{ matrix.build }}
67
+ path: vendor/
@@ -0,0 +1,34 @@
1
+ name: check
2
+ on:
3
+ push:
4
+ pull_request:
5
+ schedule:
6
+ - cron: 45 4 * * 0
7
+ jobs:
8
+ check:
9
+ runs-on: "${{ matrix.os }}"
10
+ strategy:
11
+ matrix:
12
+ os:
13
+ - ubuntu-latest
14
+ - ubuntu-22.04-arm
15
+ - macos-15-intel
16
+ - macos-14
17
+ ruby:
18
+ - '2.7'
19
+ - '3.2'
20
+ - '3.3'
21
+ - '3.4'
22
+ - '4.0'
23
+ - jruby-9.4
24
+ - jruby-10.0
25
+ fail-fast: false
26
+ steps:
27
+ - uses: actions/checkout@v6
28
+ - uses: ruby/setup-ruby@v1
29
+ with:
30
+ ruby-version: "${{ matrix.ruby }}"
31
+ bundler-cache: true
32
+ - run: make test
33
+ - run: bundle exec image_optim --info
34
+ - run: bundle exec rspec
@@ -0,0 +1,29 @@
1
+ name: docker-build
2
+ on:
3
+ push:
4
+ pull_request:
5
+ workflow_dispatch:
6
+ jobs:
7
+ docker-build:
8
+ runs-on: ubuntu-latest
9
+ strategy:
10
+ matrix:
11
+ params:
12
+ - ''
13
+ - DOCKER_FILE=Dockerfile.debian DOCKER_TAG_SUFFIX=-debian
14
+ fail-fast: false
15
+ steps:
16
+ - uses: actions/checkout@v6
17
+ - uses: docker/login-action@v4
18
+ with:
19
+ registry: ghcr.io
20
+ username: ${{ github.actor }}
21
+ password: ${{ secrets.GITHUB_TOKEN }}
22
+ if: startsWith(github.ref, 'refs/tags/')
23
+ - run: |
24
+ if [[ "$GITHUB_REF" == refs/tags/* ]]; then
25
+ echo "MAKE_ACTION=docker-push" >> $GITHUB_ENV
26
+ else
27
+ echo "MAKE_ACTION=docker-test" >> $GITHUB_ENV
28
+ fi
29
+ - run: make "$MAKE_ACTION" ${{ matrix.params }}
@@ -0,0 +1,35 @@
1
+ name: livecheck
2
+ on:
3
+ push:
4
+ pull_request:
5
+ schedule:
6
+ - cron: 34 5 * * *
7
+ workflow_dispatch:
8
+ inputs:
9
+ retry:
10
+ description: 'Retry attempt'
11
+ required: true
12
+ type: number
13
+ jobs:
14
+ livecheck:
15
+ runs-on: ubuntu-latest
16
+ steps:
17
+ - uses: actions/checkout@v6
18
+ - uses: ruby/setup-ruby@v1
19
+ with:
20
+ ruby-version: '4'
21
+ bundler-cache: true
22
+ - env:
23
+ RETRY: ${{ inputs.retry }}
24
+ RETRIES: 10
25
+ GITHUB_TOKEN: ${{ secrets.RETRY_TOKEN }}
26
+ run: |
27
+ bundle exec script/livecheck || {
28
+ exit_code=$?
29
+ if (( $exit_code == 2 )) && (( ${RETRY:-0} < $RETRIES )); then
30
+ sleep 300
31
+ gh workflow run livecheck --repo $GITHUB_REPOSITORY --ref $GITHUB_REF_NAME -f retry=$(( $RETRY + 1 ))
32
+ else
33
+ exit $exit_code
34
+ fi
35
+ }
@@ -0,0 +1,16 @@
1
+ name: rubocop
2
+ on:
3
+ push:
4
+ pull_request:
5
+ schedule:
6
+ - cron: 45 4 * * 0
7
+ jobs:
8
+ rubocop:
9
+ runs-on: ubuntu-latest
10
+ steps:
11
+ - uses: actions/checkout@v6
12
+ - uses: ruby/setup-ruby@v1
13
+ with:
14
+ ruby-version: '4'
15
+ bundler-cache: true
16
+ - run: bundle exec rubocop
data/.gitignore ADDED
@@ -0,0 +1,7 @@
1
+ /build/
2
+ /download/
3
+
4
+ Gemfile.lock
5
+ /*.gem
6
+ /.bundle
7
+ /tmp/
data/.rubocop.yml ADDED
@@ -0,0 +1,100 @@
1
+ AllCops:
2
+ Exclude:
3
+ - '*.gemspec'
4
+ - 'build/**/*'
5
+ - 'download/**/*'
6
+ - 'vendor/bundle/**/*'
7
+ - Vagrantfile
8
+ NewCops: enable
9
+
10
+ Bundler/OrderedGems:
11
+ Enabled: false
12
+
13
+ Layout/AccessModifierIndentation:
14
+ EnforcedStyle: outdent
15
+
16
+ Layout/DotPosition:
17
+ EnforcedStyle: trailing
18
+
19
+ Layout/EndAlignment:
20
+ EnforcedStyleAlignWith: start_of_line
21
+
22
+ Layout/FirstHashElementIndentation:
23
+ EnforcedStyle: consistent
24
+
25
+ Layout/LineLength:
26
+ Max: 120
27
+
28
+ Layout/RescueEnsureAlignment:
29
+ Enabled: false
30
+
31
+ Layout/SpaceBeforeBlockBraces:
32
+ EnforcedStyle: no_space
33
+
34
+ Layout/SpaceInsideHashLiteralBraces:
35
+ EnforcedStyle: no_space
36
+
37
+ Metrics/BlockLength:
38
+ Exclude:
39
+ - spec/**/*_spec.rb
40
+
41
+ Metrics/MethodLength:
42
+ Max: 15
43
+
44
+ Security/YAMLLoad:
45
+ Exclude:
46
+ - script/livecheck
47
+
48
+ Style/AccessorGrouping:
49
+ Enabled: false
50
+
51
+ Style/Alias:
52
+ EnforcedStyle: prefer_alias_method
53
+
54
+ Style/DoubleNegation:
55
+ Enabled: false
56
+
57
+ Style/EmptyCaseCondition:
58
+ Enabled: false
59
+
60
+ Style/FormatStringToken:
61
+ Enabled: false
62
+
63
+ Style/HashConversion:
64
+ Enabled: false
65
+
66
+ Style/HashEachMethods:
67
+ Enabled: true
68
+
69
+ Style/HashTransformKeys:
70
+ Enabled: false
71
+
72
+ Style/HashTransformValues:
73
+ Enabled: false
74
+
75
+ Style/IfUnlessModifier:
76
+ Enabled: false
77
+
78
+ Style/MultilineBlockChain:
79
+ Enabled: false
80
+
81
+ Style/RedundantArgument:
82
+ Enabled: false
83
+
84
+ Style/Semicolon:
85
+ AllowAsExpressionSeparator: true
86
+
87
+ Style/SignalException:
88
+ EnforcedStyle: semantic
89
+
90
+ Style/SymbolArray:
91
+ Enabled: false
92
+
93
+ Style/TrailingCommaInArguments:
94
+ EnforcedStyleForMultiline: no_comma
95
+
96
+ Style/TrailingCommaInArrayLiteral:
97
+ EnforcedStyleForMultiline: comma
98
+
99
+ Style/TrailingCommaInHashLiteral:
100
+ EnforcedStyleForMultiline: comma