rmagick 4.2.6 → 5.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.devcontainer/ImageMagick6/devcontainer.json +1 -1
- data/.devcontainer/{ImageMagick7/devcontainer.json → devcontainer.json} +2 -2
- data/.devcontainer/setup-user.sh +1 -1
- data/.editorconfig +1 -1
- data/.github/workflows/ci.yml +87 -9
- data/.gitignore +4 -0
- data/.rubocop_todo.yml +16 -9
- data/.yardopts +1 -1
- data/CHANGELOG.md +130 -0
- data/Gemfile +20 -0
- data/README.md +10 -17
- data/Rakefile +63 -80
- data/before_install_linux.sh +3 -3
- data/before_install_osx.sh +6 -5
- data/ext/RMagick/extconf.rb +112 -52
- data/ext/RMagick/{rmagick.c → rmagick.cpp} +19 -22
- data/ext/RMagick/rmagick.h +88 -59
- data/ext/RMagick/rmagick_gvl.h +224 -0
- data/ext/RMagick/{rmdraw.c → rmdraw.cpp} +170 -159
- data/ext/RMagick/{rmenum.c → rmenum.cpp} +69 -50
- data/ext/RMagick/{rmfill.c → rmfill.cpp} +85 -24
- data/ext/RMagick/{rmilist.c → rmilist.cpp} +191 -93
- data/ext/RMagick/{rmimage.c → rmimage.cpp} +1543 -989
- data/ext/RMagick/{rminfo.c → rminfo.cpp} +140 -152
- data/ext/RMagick/{rmkinfo.c → rmkinfo.cpp} +46 -34
- data/ext/RMagick/rmmain.cpp +1923 -0
- data/ext/RMagick/{rmmontage.c → rmmontage.cpp} +50 -29
- data/ext/RMagick/{rmpixel.c → rmpixel.cpp} +108 -83
- data/ext/RMagick/{rmstruct.c → rmstruct.cpp} +6 -6
- data/ext/RMagick/{rmutil.c → rmutil.cpp} +62 -161
- data/lib/rmagick/version.rb +3 -1
- data/lib/rmagick.rb +2 -0
- data/lib/rmagick_internal.rb +76 -110
- data/lib/rvg/embellishable.rb +6 -2
- data/lib/rvg/misc.rb +7 -7
- data/lib/rvg/rvg.rb +2 -0
- data/lib/rvg/stretchable.rb +2 -2
- data/lib/rvg/transformable.rb +1 -1
- data/rmagick.gemspec +4 -13
- data/sig/rmagick/_draw_common_methods.rbs +64 -0
- data/sig/rmagick/_image_common_methods.rbs +389 -0
- data/sig/rmagick/draw.rbs +38 -0
- data/sig/rmagick/draw_attribute.rbs +28 -0
- data/sig/rmagick/enum.rbs +814 -0
- data/sig/rmagick/error.rbs +11 -0
- data/sig/rmagick/fill.rbs +21 -0
- data/sig/rmagick/geometry.rbs +14 -0
- data/sig/rmagick/image.rbs +194 -0
- data/sig/rmagick/image_list.rbs +181 -0
- data/sig/rmagick/iptc.rbs +101 -0
- data/sig/rmagick/kernel_info.rbs +12 -0
- data/sig/rmagick/optional_method_arguments.rbs +10 -0
- data/sig/rmagick/pixel.rbs +46 -0
- data/sig/rmagick/struct.rbs +90 -0
- data/sig/rmagick.rbs +43 -0
- data/sig/rvg/clippath.rbs +34 -0
- data/sig/rvg/container.rbs +78 -0
- data/sig/rvg/deep_equal.rbs +48 -0
- data/sig/rvg/describable.rbs +30 -0
- data/sig/rvg/embellishable.rbs +226 -0
- data/sig/rvg/misc.rbs +145 -0
- data/sig/rvg/paint.rbs +55 -0
- data/sig/rvg/pathdata.rbs +77 -0
- data/sig/rvg/rvg.rbs +125 -0
- data/sig/rvg/stretchable.rbs +56 -0
- data/sig/rvg/stylable.rbs +66 -0
- data/sig/rvg/text.rbs +118 -0
- data/sig/rvg/transformable.rbs +59 -0
- data/sig/rvg/units.rbs +33 -0
- metadata +59 -129
- data/.codeclimate.yml +0 -63
- data/deprecated/RMagick.rb +0 -6
- data/ext/RMagick/rmmain.c +0 -1951
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 41d6b9634204858bad669688ff19fc54c14dc3578f011696ade0295b5e4f7e88
|
4
|
+
data.tar.gz: 781493a793ec5ee4b9a60063761484e8b1d44e622963c2593caefac314d7ed8a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e90299bfe4a9b5d9a6291d53707db9ec772fb2247517f4e9ca9e4633320a6a9c2067195dcc90109bc743cd9f0a12882adfd679fb4e06c6995958e8b962125e0e
|
7
|
+
data.tar.gz: 1e2b528111b27b48ec4f3dc8be1e65d3bf181ec8888c5e1562959b98af4762f12dd9285d4d78520eb400ffb16e09f93950e8527b27e552396487c56fd1258b95
|
@@ -1,10 +1,10 @@
|
|
1
1
|
{
|
2
2
|
"name": "ImageMagick 7",
|
3
3
|
"build": {
|
4
|
-
"dockerfile": "
|
4
|
+
"dockerfile": "Dockerfile",
|
5
5
|
"args": {
|
6
6
|
"RUBY_VERSION": "3.1.2",
|
7
|
-
"IMAGEMAGICK_VERSION": "7.1.
|
7
|
+
"IMAGEMAGICK_VERSION": "7.1.1-26"
|
8
8
|
}
|
9
9
|
},
|
10
10
|
"onCreateCommand": "/setup/setup-repo.sh"
|
data/.devcontainer/setup-user.sh
CHANGED
data/.editorconfig
CHANGED
data/.github/workflows/ci.yml
CHANGED
@@ -15,7 +15,7 @@ jobs:
|
|
15
15
|
runs-on: ubuntu-latest
|
16
16
|
timeout-minutes: 20
|
17
17
|
steps:
|
18
|
-
- uses: actions/checkout@
|
18
|
+
- uses: actions/checkout@v4
|
19
19
|
- name: Set up Ruby 2.3
|
20
20
|
uses: ruby/setup-ruby@master
|
21
21
|
with:
|
@@ -25,21 +25,49 @@ jobs:
|
|
25
25
|
bundle install --path=vendor/bundle --jobs 4 --retry 3
|
26
26
|
STYLE_CHECKS=true bundle exec rubocop
|
27
27
|
|
28
|
+
rbs:
|
29
|
+
runs-on: ubuntu-latest
|
30
|
+
name: RBS
|
31
|
+
timeout-minutes: 20
|
32
|
+
steps:
|
33
|
+
- uses: actions/checkout@v4
|
34
|
+
- name: Set up Ruby 3.0
|
35
|
+
uses: ruby/setup-ruby@master
|
36
|
+
with:
|
37
|
+
ruby-version: '3.0'
|
38
|
+
- name: Validate RBS signatures
|
39
|
+
run: |
|
40
|
+
bundle install --path=vendor/bundle --jobs 4 --retry 3
|
41
|
+
bundle exec rake rbs:validate && bundle exec steep check
|
42
|
+
|
28
43
|
test-linux:
|
29
44
|
runs-on: ubuntu-latest
|
30
45
|
timeout-minutes: 20
|
31
46
|
strategy:
|
32
47
|
matrix:
|
33
|
-
ruby-version: ['2.3', '2.4', '2.5', '2.6', '2.7', '3.0', '3.1']
|
48
|
+
ruby-version: ['2.3', '2.4', '2.5', '2.6', '2.7', '3.0', '3.1', '3.2', '3.3']
|
34
49
|
imagemagick-version:
|
35
50
|
- { full: 6.7.7-10, major-minor: '6.7' }
|
36
51
|
- { full: 6.8.9-10, major-minor: '6.8' }
|
37
|
-
- { full: 6.9.
|
38
|
-
- { full: 7.
|
52
|
+
- { full: 6.9.13-4, major-minor: '6.9' }
|
53
|
+
- { full: 7.0.11-14, major-minor: '7.0' }
|
54
|
+
- { full: 7.1.1-26, major-minor: '7.1' }
|
55
|
+
exclude:
|
56
|
+
# Ghostscript 9.55.0 causes error with Ruby 3.3 + ImageMagick 6.7 when run Magick::Draw tests.
|
57
|
+
# It disable running tests with Ruby 3.3 + ImageMagick 6.7 because it might be difficult to support old ImageMagick.
|
58
|
+
- ruby-version: '3.3'
|
59
|
+
imagemagick-version: { major-minor: '6.7' }
|
39
60
|
|
40
61
|
name: Linux, Ruby ${{ matrix.ruby-version }}, IM ${{ matrix.imagemagick-version.major-minor }}
|
41
62
|
steps:
|
42
|
-
- uses: actions/checkout@
|
63
|
+
- uses: actions/checkout@v4
|
64
|
+
- name: Cache ImageMagick built objects
|
65
|
+
uses: actions/cache@v4
|
66
|
+
with:
|
67
|
+
path: ./build-ImageMagick
|
68
|
+
key: v1-${{ runner.os }}-imagemagick-${{ matrix.imagemagick-version.full }}
|
69
|
+
restore-keys: |
|
70
|
+
v1-${{ runner.os }}-imagemagick-${{ matrix.imagemagick-version.full }}
|
43
71
|
- name: Set up Ruby ${{ matrix.ruby-version }}
|
44
72
|
uses: ruby/setup-ruby@master
|
45
73
|
with:
|
@@ -58,14 +86,21 @@ jobs:
|
|
58
86
|
timeout-minutes: 20
|
59
87
|
strategy:
|
60
88
|
matrix:
|
61
|
-
ruby-version: ['2.6', '2.7', '3.0', '3.1']
|
89
|
+
ruby-version: ['2.6', '2.7', '3.0', '3.1', '3.2', '3.3']
|
62
90
|
imagemagick-version:
|
63
|
-
- { full: 6.9.
|
64
|
-
- { full: 7.1.
|
91
|
+
- { full: 6.9.13-4, major-minor: '6.9' }
|
92
|
+
- { full: 7.1.1-26, major-minor: '7.1' }
|
65
93
|
|
66
94
|
name: macOS, Ruby ${{ matrix.ruby-version }}, IM ${{ matrix.imagemagick-version.major-minor }}
|
67
95
|
steps:
|
68
|
-
- uses: actions/checkout@
|
96
|
+
- uses: actions/checkout@v4
|
97
|
+
- name: Cache ImageMagick built objects
|
98
|
+
uses: actions/cache@v4
|
99
|
+
with:
|
100
|
+
path: ./build-ImageMagick
|
101
|
+
key: v1-${{ runner.os }}-imagemagick-${{ matrix.imagemagick-version.full }}
|
102
|
+
restore-keys: |
|
103
|
+
v1-${{ runner.os }}-imagemagick-${{ matrix.imagemagick-version.full }}
|
69
104
|
- name: Set up Ruby ${{ matrix.ruby-version }}
|
70
105
|
uses: ruby/setup-ruby@master
|
71
106
|
with:
|
@@ -77,3 +112,46 @@ jobs:
|
|
77
112
|
run: |
|
78
113
|
bundle install --path=vendor/bundle --jobs 4 --retry 3
|
79
114
|
bundle exec rake
|
115
|
+
|
116
|
+
test-windows:
|
117
|
+
runs-on: windows-latest
|
118
|
+
timeout-minutes: 20
|
119
|
+
strategy:
|
120
|
+
matrix:
|
121
|
+
ruby-version: ['3.3']
|
122
|
+
imagemagick-version:
|
123
|
+
- { full: 6.9.13-4, major-minor: '6.9' }
|
124
|
+
- { full: 7.1.1-26, major-minor: '7.1' }
|
125
|
+
env:
|
126
|
+
bundled_im_dir: C:\Program Files\ImageMagick-7.1.1-Q16-HDRI
|
127
|
+
install_im_dir: D:\ImageMagick
|
128
|
+
|
129
|
+
name: MSWin, Ruby ${{ matrix.ruby-version }}, IM ${{ matrix.imagemagick-version.major-minor }}
|
130
|
+
steps:
|
131
|
+
- uses: actions/checkout@v4
|
132
|
+
- name: Setup environment variable
|
133
|
+
# https://stackoverflow.com/questions/60169752/how-to-update-the-path-in-a-github-action-workflow-file-for-a-windows-latest-hos
|
134
|
+
run: |
|
135
|
+
Add-Content $env:GITHUB_PATH ${{ env.install_im_dir }}
|
136
|
+
- name: Uninstall bundled ImageMagick
|
137
|
+
# Bundled ImageMagick does not have C/C++ library and dll which required by rmagick.
|
138
|
+
run: |
|
139
|
+
Start-Process -FilePath "${{ env.bundled_im_dir }}\unins000.exe" -ArgumentList "/VERYSILENT /NORESTART"
|
140
|
+
- name: Set up Ruby ${{ matrix.ruby-version }}
|
141
|
+
uses: ruby/setup-ruby@master
|
142
|
+
with:
|
143
|
+
ruby-version: ${{ matrix.ruby-version }}
|
144
|
+
- name: Install ghostscript
|
145
|
+
run: |
|
146
|
+
choco install ghostscript
|
147
|
+
- name: Install ImageMagick
|
148
|
+
# https://github.com/rmagick/ImageMagick-binaries
|
149
|
+
run: |
|
150
|
+
$imagemagick_version = "${{ matrix.imagemagick-version.full }}"
|
151
|
+
$installer_name = "ImageMagick-$($imagemagick_version)-Q16-x64-dll.exe"
|
152
|
+
$url = "https://github.com/rmagick/ImageMagick-binaries/raw/main/$($installer_name)"
|
153
|
+
Invoke-WebRequest -Uri $url -OutFile $installer_name
|
154
|
+
Start-Process -FilePath $installer_name -ArgumentList "/DIR=${{ env.install_im_dir }} /VERYSILENT /NORESTART /TASKS=install_Devel"
|
155
|
+
- name: Build and test with Rake
|
156
|
+
run: |
|
157
|
+
cmd.exe /D /S /C "bundle install --path=vendor/bundle --retry 3 & bundle exec rake"
|
data/.gitignore
CHANGED
data/.rubocop_todo.yml
CHANGED
@@ -6,6 +6,21 @@
|
|
6
6
|
# Note that changes in the inspected code, or installation of new
|
7
7
|
# versions of RuboCop, may require this file to be generated again.
|
8
8
|
|
9
|
+
# Offense count: 9
|
10
|
+
# Configuration parameters: Include, IgnoredGems.
|
11
|
+
# Include: **/*.gemfile, **/Gemfile, **/gems.rb
|
12
|
+
Bundler/GemComment:
|
13
|
+
Exclude:
|
14
|
+
- 'Gemfile'
|
15
|
+
|
16
|
+
# Offense count: 1
|
17
|
+
# Cop supports --auto-correct.
|
18
|
+
# Configuration parameters: TreatCommentsAsGroupSeparators, Include.
|
19
|
+
# Include: **/*.gemfile, **/Gemfile, **/gems.rb
|
20
|
+
Bundler/OrderedGems:
|
21
|
+
Exclude:
|
22
|
+
- 'Gemfile'
|
23
|
+
|
9
24
|
# Offense count: 1
|
10
25
|
# Cop supports --auto-correct.
|
11
26
|
# Configuration parameters: TreatCommentsAsGroupSeparators, Include.
|
@@ -26,7 +41,6 @@ Layout/ClassStructure:
|
|
26
41
|
- 'lib/rvg/misc.rb'
|
27
42
|
- 'lib/rvg/pathdata.rb'
|
28
43
|
- 'lib/rvg/rvg.rb'
|
29
|
-
- 'lib/rvg/to_c.rb'
|
30
44
|
|
31
45
|
# Offense count: 2312
|
32
46
|
# Cop supports --auto-correct.
|
@@ -79,7 +93,6 @@ Lint/NumberConversion:
|
|
79
93
|
- 'examples/thumbnail.rb'
|
80
94
|
- 'lib/rmagick_internal.rb'
|
81
95
|
- 'lib/rvg/misc.rb'
|
82
|
-
- 'lib/rvg/to_c.rb'
|
83
96
|
- 'spec/magick_spec.rb'
|
84
97
|
- 'spec/rmagick/align_type/class_methods/values_spec.rb'
|
85
98
|
- 'spec/rmagick/enum/bitwise_or_spec.rb'
|
@@ -127,7 +140,7 @@ Metrics/BlockNesting:
|
|
127
140
|
# Offense count: 9
|
128
141
|
# Configuration parameters: CountComments.
|
129
142
|
Metrics/ClassLength:
|
130
|
-
Max:
|
143
|
+
Max: 469
|
131
144
|
|
132
145
|
# Offense count: 21
|
133
146
|
# Configuration parameters: IgnoredMethods.
|
@@ -182,7 +195,6 @@ Naming/ConstantName:
|
|
182
195
|
# AllowedAcronyms: CLI, DSL, ACL, API, ASCII, CPU, CSS, DNS, EOF, GUID, HTML, HTTP, HTTPS, ID, IP, JSON, LHS, QPS, RAM, RHS, RPC, SLA, SMTP, SQL, SSH, TCP, TLS, TTL, UDP, UI, UID, UUID, URI, URL, UTF8, VM, XML, XMPP, XSRF, XSS
|
183
196
|
Naming/FileName:
|
184
197
|
Exclude:
|
185
|
-
- 'deprecated/RMagick.rb'
|
186
198
|
- 'doc/ex/InitialCoords.rb'
|
187
199
|
- 'doc/ex/NewCoordSys.rb'
|
188
200
|
- 'doc/ex/OrigCoordSys.rb'
|
@@ -227,11 +239,6 @@ Security/MarshalLoad:
|
|
227
239
|
- 'spec/rmagick/image/marshal_spec.rb'
|
228
240
|
- 'spec/rmagick/image_list/marshal_spec.rb'
|
229
241
|
|
230
|
-
# Offense count: 1
|
231
|
-
Style/AutoResourceCleanup:
|
232
|
-
Exclude:
|
233
|
-
- 'lib/rvg/to_c.rb'
|
234
|
-
|
235
242
|
# Offense count: 7
|
236
243
|
Style/CaseEquality:
|
237
244
|
Exclude:
|
data/.yardopts
CHANGED
data/CHANGELOG.md
CHANGED
@@ -3,6 +3,136 @@
|
|
3
3
|
All notable changes to this project are documented in this file.
|
4
4
|
This project adheres to [Semantic Versioning](http://semver.org/).
|
5
5
|
|
6
|
+
## RMagick 5.5.0
|
7
|
+
|
8
|
+
Improvements
|
9
|
+
|
10
|
+
- Add RBS signatures (#1458)
|
11
|
+
- Remove unnecessary type check in KernelInfo#{unity_add, scale} (#1514)
|
12
|
+
- Remove unnecessary type check in Image#{morphology, morphology_channel} (#1513)
|
13
|
+
- Improve HatchFill.new to accept Pixel object as color (#1512)
|
14
|
+
- Fix GraphicContext#font_weight to accept Numeric object (#1510)
|
15
|
+
- Improve GraphicContext#font_weight to accept Symbol object (#1509)
|
16
|
+
- Improve Stretchable#viewbox to use implicitly conversioned value (#1507)
|
17
|
+
- Improve RVG::Transformable#rotate to convert to Float implicitly (#1506)
|
18
|
+
- Fix Image#modulate in order to accept negative number (#1505)
|
19
|
+
- Improve Image#modulate to accept "NN%" form string (#1504)
|
20
|
+
- Implicit conversion to string with methods that expect a string (#1496)
|
21
|
+
- Coerce to string instead of using #to_s (#1495)
|
22
|
+
- Coerce to string where pass object into string interpolation (#1494)
|
23
|
+
- Fix Draw#{fill_opacity, opacity, stroke_opacity} to correctly handle arguments (#1492)
|
24
|
+
- Fix Draw#{interline_spacing, interword_spacing, kerning} to correctly handle arguments that can be converted to Float (#1491)
|
25
|
+
- Remove unnecessary type check in KernelInfo methods (#1489)
|
26
|
+
- Generate compile_flags.txt for clangd for development (#1488)
|
27
|
+
- Fix Draw#{stroke_dasharray, stroke_miterlimit} to accept object which has #to_f method (#1486)
|
28
|
+
- Fix Image#composite_affine to accept ImageList object (#1484)
|
29
|
+
- Fix Image#add_compose_mask to accept ImageList object (#1483)
|
30
|
+
- Fix incorrect number of required arguments in ArgumentError (#1482)
|
31
|
+
- Fix ImageList#sort! that should return self (#1481)
|
32
|
+
- Fix ImageList#eql? that should not raise exception if can't compare (#1479)
|
33
|
+
- Fix ImageList#<=> that should return nil if can't compare (#1478)
|
34
|
+
- Add DrawAttribute module to simplify Draw, DrawOptions and PolaroidOptions (#1477)
|
35
|
+
- Add missing attribute writer methods in Image::{DrawOptions, PolaroidOptions} (#1476)
|
36
|
+
- Add Image::PolaroidOptions#affine= (#1475)
|
37
|
+
- Add Image::PolaroidOptions#tile= (#1474)
|
38
|
+
- Attribute writer methods should return passed value (#1473)
|
39
|
+
- Return self with ImageList if Image's method return self (#1472)
|
40
|
+
- Fix Image#clut_channel to accept ImageList object (#1471)
|
41
|
+
- Fix Magick::GradientFill#fill and Magick::TextureFill#fill to accept ImageList object (#1467)
|
42
|
+
|
43
|
+
Bug Fixes
|
44
|
+
|
45
|
+
- Fix typo in order to fix NoMethodError (#1515)
|
46
|
+
- Sync compression value in order fix the problem of compression being ignored by ImageMagick 7 (#1503)
|
47
|
+
- Add PKG_CONFIG_PATH for ImageMagick 7 in order to fix installation error on macOS (#1501)
|
48
|
+
|
49
|
+
## RMagick 5.4.4
|
50
|
+
|
51
|
+
Bug Fixes
|
52
|
+
|
53
|
+
- Fix installation error again in some environment at creatint Makefile (#1465)
|
54
|
+
- Fix Pixel#<=> which should accept other class instance (#1463)
|
55
|
+
|
56
|
+
## RMagick 5.4.3
|
57
|
+
|
58
|
+
Bug Fixes
|
59
|
+
|
60
|
+
- Fix installation error in some environment by using x flag to use C++ compiler in order to create Makefile (#1460)
|
61
|
+
|
62
|
+
## RMagick 5.4.2
|
63
|
+
|
64
|
+
Improvements
|
65
|
+
|
66
|
+
- Check C++ compiler exists (#1453)
|
67
|
+
|
68
|
+
## RMagick 5.4.1
|
69
|
+
|
70
|
+
Bug Fixes
|
71
|
+
|
72
|
+
- Fix invalid cast between different size variables (#1448)
|
73
|
+
|
74
|
+
## RMagick 5.4.0
|
75
|
+
|
76
|
+
Improvements
|
77
|
+
|
78
|
+
- Use rb_io_path() if exist because pathv attr was marked as deprecated at Ruby 3.3 (#1409)
|
79
|
+
- Add observer gem as dependency (#1411)
|
80
|
+
- Add aliases of filter type (#1439)
|
81
|
+
- Release GVL in Image#contrast (#1440)
|
82
|
+
|
83
|
+
Bug Fixes
|
84
|
+
|
85
|
+
- Use C++ compiler in order to fix installation error with latest ImageMagick 7 on Windows (#1433)
|
86
|
+
|
87
|
+
## RMagick 5.3.0
|
88
|
+
|
89
|
+
Improvements
|
90
|
+
|
91
|
+
- Support GC compaction (#1388)
|
92
|
+
|
93
|
+
Bug Fixes
|
94
|
+
|
95
|
+
- Fix memory leak in `Magick::Draw` for recentry ImageMagick 6 by removing unnecessary `GetDrawInfo()` calling (#1406)
|
96
|
+
- Fix crash on ImageList#write with animation gif (#1379)
|
97
|
+
- Windows: Fix RubyInstaller::Runtime::DllDirectory::WinApiError (#1381)
|
98
|
+
|
99
|
+
## RMagick 5.2.0
|
100
|
+
|
101
|
+
Improvements
|
102
|
+
|
103
|
+
- Add OnAlphaChannel and OffAlphaChannel to the AlphaChannelOption enumeration. (#1377)
|
104
|
+
- Add Ruby 3.2 support (#1370)
|
105
|
+
|
106
|
+
## RMagick 5.1.0
|
107
|
+
|
108
|
+
Improvements
|
109
|
+
|
110
|
+
- Improve multi-thread performance by releasing GVL (#1352)
|
111
|
+
- Add Ractor support (#1349)
|
112
|
+
- Avoid overriding compilation variables (#1365)
|
113
|
+
- Remove pkg-config command dependency (#1366)
|
114
|
+
|
115
|
+
## RMagick 5.0.0
|
116
|
+
|
117
|
+
Improvements
|
118
|
+
|
119
|
+
- Improve installer in order to avoid SEGV within pkg-config command (#1359)
|
120
|
+
- Clean up the documents and comment in source code referring to something that no longer exist (#1363)
|
121
|
+
- Remove deprecated 'tile' attribute in Draw#marshal_dump (#1364)
|
122
|
+
- Remove deprecated #instance_eval calling when block was given with Magick::ImageList#montage, Magick::Image::Info.new and more (#1362)
|
123
|
+
- Remove deprecated RMagick.rb file (#1361)
|
124
|
+
- Remove deprecated Magick.trace_proc= (#1351)
|
125
|
+
- Remove deprecated Magick::{Image, Image::Info}#monitor= (#1356)
|
126
|
+
|
127
|
+
## RMagick 4.3.0
|
128
|
+
|
129
|
+
Deprecates
|
130
|
+
|
131
|
+
- Mark Magick.trace_proc= as deprecated (#1354)
|
132
|
+
- Mark Magick::{Image, Image::Info}#monitor= as deprecated (#1353)
|
133
|
+
|
134
|
+
These methods will be removed in RMagick 5.0 and no alternative.
|
135
|
+
|
6
136
|
## RMagick 4.2.6
|
7
137
|
|
8
138
|
Improvements
|
data/Gemfile
CHANGED
@@ -2,3 +2,23 @@ source 'https://rubygems.org'
|
|
2
2
|
|
3
3
|
# Specify your gem's dependencies in rmagick.gemspec
|
4
4
|
gemspec
|
5
|
+
|
6
|
+
gem 'pry', '~> 0.14'
|
7
|
+
gem 'rake-compiler', '~> 1.0'
|
8
|
+
gem 'rspec', '~> 3.8'
|
9
|
+
gem 'rspec_junit_formatter', '~> 0.6.0'
|
10
|
+
gem 'simplecov', '~> 0.16.1'
|
11
|
+
gem 'yard', '~> 0.9.24'
|
12
|
+
|
13
|
+
if RUBY_PLATFORM !~ /mswin|mingw/
|
14
|
+
gem 'rubocop', '~> 0.81.0'
|
15
|
+
gem 'rubocop-rspec', '~> 1.38.1'
|
16
|
+
gem 'rubocop-performance', '~> 1.5.2'
|
17
|
+
end
|
18
|
+
|
19
|
+
if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('3.0.0')
|
20
|
+
# For CI
|
21
|
+
gem 'rbs', '~> 3.4'
|
22
|
+
|
23
|
+
gem 'steep', '~> 1.6'
|
24
|
+
end
|
data/README.md
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
RMagick
|
2
2
|
=======
|
3
3
|
|
4
|
-
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/901780ea1a244a8584b18033b2e03866)](https://app.codacy.com/gh/rmagick/rmagick?utm_source=github.com&utm_medium=referral&utm_content=rmagick/rmagick&utm_campaign=Badge_Grade_Settings)
|
5
4
|
[![GemVersion](https://img.shields.io/gem/v/rmagick.svg?style=flat)](https://rubygems.org/gems/rmagick)
|
6
5
|
![CI](https://github.com/rmagick/rmagick/workflows/CI/badge.svg)
|
7
6
|
|
@@ -39,6 +38,9 @@ These prerequisites are required for the latest version of RMagick.
|
|
39
38
|
- Windows
|
40
39
|
- Other \*nix-like systems
|
41
40
|
|
41
|
+
**C++ compiler**
|
42
|
+
- RMagick 5.4.0 or later requires a C++ compiler.
|
43
|
+
|
42
44
|
**Ruby**
|
43
45
|
- Version 2.3 or later.
|
44
46
|
|
@@ -64,40 +66,40 @@ sudo apt-get install libmagickwand-dev
|
|
64
66
|
On Centos, you can run:
|
65
67
|
|
66
68
|
```sh
|
67
|
-
sudo yum install
|
69
|
+
sudo yum install ImageMagick-devel
|
68
70
|
```
|
69
71
|
|
70
72
|
#### Arch Linux
|
71
73
|
On Arch Linux, you can run:
|
72
74
|
|
73
75
|
```sh
|
74
|
-
pacman -Syy
|
76
|
+
pacman -Syy imagemagick
|
75
77
|
```
|
76
78
|
|
77
79
|
#### Alpine Linux
|
78
80
|
On Alpine Linux, you can run:
|
79
81
|
|
80
82
|
```
|
81
|
-
apk add
|
83
|
+
apk add imagemagick imagemagick-dev imagemagick-libs
|
82
84
|
```
|
83
85
|
|
84
86
|
or you can run if you would like to use ImageMagick 6:
|
85
87
|
|
86
88
|
```
|
87
|
-
apk add
|
89
|
+
apk add imagemagick6 imagemagick6-dev imagemagick6-libs
|
88
90
|
```
|
89
91
|
|
90
92
|
### macOS
|
91
93
|
On macOS, you can run:
|
92
94
|
|
93
95
|
```sh
|
94
|
-
brew install
|
96
|
+
brew install imagemagick
|
95
97
|
```
|
96
98
|
|
97
99
|
or you can run if you would like to use ImageMagick 6:
|
98
100
|
|
99
101
|
```sh
|
100
|
-
brew install
|
102
|
+
brew install imagemagick@6
|
101
103
|
```
|
102
104
|
|
103
105
|
### Windows
|
@@ -105,7 +107,7 @@ brew install pkg-config imagemagick@6
|
|
105
107
|
2. You might need to configure `PATH` environment variable to where the compiler is located.
|
106
108
|
(Ex: `set PATH=C:\Ruby27-x64\msys64\usr\bin;C:\Ruby27-x64\msys64\mingw64\bin;%PATH%`)
|
107
109
|
3. Download `ImageMagick-7.XXXX-Q16-x64-dll.exe` (not, `ImageMagick-7.XXXX-Q16-x64-static.exe`) binary from [Windows Binary Release](https://imagemagick.org/script/download.php#windows), or you can download ImageMagick 6 from [Windows Binary Release](https://legacy.imagemagick.org/script/download.php#windows).
|
108
|
-
4. Install ImageMagick. You need to turn on checkboxes `Add application directory to your system path` and `Install development headers and
|
110
|
+
4. Install ImageMagick. You need to turn on checkboxes `Add application directory to your system path` and `Install development headers and libraries for C and C++` in an installer for RMagick.
|
109
111
|
<img width="50%" src="https://user-images.githubusercontent.com/199156/77183472-b72cbd00-6b11-11ea-8b9a-247bc1f9d8b1.png" />
|
110
112
|
|
111
113
|
Installing RMagick
|
@@ -164,15 +166,6 @@ subdirectory of the installation directory for any error messages. These
|
|
164
166
|
messages typically contain enough additional information for you to be able to
|
165
167
|
diagnose the problem. Also see [this FAQ][libmagick-faq].
|
166
168
|
|
167
|
-
On OS X with Homebrew, try (re)installing pkg-config:
|
168
|
-
|
169
|
-
```sh
|
170
|
-
brew uninstall pkg-config
|
171
|
-
brew install pkg-config
|
172
|
-
brew unlink pkg-config
|
173
|
-
brew link pkg-config
|
174
|
-
```
|
175
|
-
|
176
169
|
### Cannot open shared object file
|
177
170
|
|
178
171
|
If you get a message like this:
|