rmagick 4.2.2 → 5.4.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. data/.devcontainer/Dockerfile +14 -0
  3. data/.devcontainer/ImageMagick6/devcontainer.json +11 -0
  4. data/.devcontainer/devcontainer.json +11 -0
  5. data/.devcontainer/setup-repo.sh +10 -0
  6. data/.devcontainer/setup-user.sh +45 -0
  7. data/.editorconfig +1 -1
  8. data/.github/workflows/ci.yml +59 -24
  9. data/.gitignore +3 -0
  10. data/.rubocop_todo.yml +0 -1
  11. data/.yardopts +1 -1
  12. data/CHANGELOG.md +131 -0
  13. data/README.md +12 -17
  14. data/Rakefile +53 -81
  15. data/before_install_linux.sh +4 -4
  16. data/before_install_osx.sh +7 -6
  17. data/ext/RMagick/extconf.rb +94 -45
  18. data/ext/RMagick/{rmagick.c → rmagick.cpp} +19 -22
  19. data/ext/RMagick/rmagick.h +90 -60
  20. data/ext/RMagick/rmagick_gvl.h +224 -0
  21. data/ext/RMagick/{rmdraw.c → rmdraw.cpp} +160 -146
  22. data/ext/RMagick/{rmenum.c → rmenum.cpp} +69 -50
  23. data/ext/RMagick/{rmfill.c → rmfill.cpp} +81 -20
  24. data/ext/RMagick/{rmilist.c → rmilist.cpp} +184 -93
  25. data/ext/RMagick/{rmimage.c → rmimage.cpp} +1276 -731
  26. data/ext/RMagick/{rminfo.c → rminfo.cpp} +119 -131
  27. data/ext/RMagick/{rmkinfo.c → rmkinfo.cpp} +41 -16
  28. data/ext/RMagick/rmmain.cpp +1957 -0
  29. data/ext/RMagick/{rmmontage.c → rmmontage.cpp} +49 -28
  30. data/ext/RMagick/{rmpixel.c → rmpixel.cpp} +109 -84
  31. data/ext/RMagick/{rmstruct.c → rmstruct.cpp} +12 -12
  32. data/ext/RMagick/{rmutil.c → rmutil.cpp} +52 -91
  33. data/lib/rmagick/version.rb +3 -1
  34. data/lib/rmagick.rb +2 -0
  35. data/lib/rmagick_internal.rb +9 -48
  36. data/lib/rvg/rvg.rb +2 -2
  37. data/rmagick.gemspec +8 -7
  38. metadata +54 -23
  39. data/.codeclimate.yml +0 -63
  40. data/deprecated/RMagick.rb +0 -6
  41. data/ext/RMagick/rmmain.c +0 -1951
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c383bce80132c17b4d8a6afab0085b2f4d5d23f582473d9405b5f6dcb3d6283f
4
- data.tar.gz: 0f5f7afe6df7a1c5095860ca5341d0b72a4960b8ead6a2779bd8209a92078f95
3
+ metadata.gz: 6fd768daa5bf84d7e835a4c300d57f6826b3fd86820dd3048a12d73db62ec89f
4
+ data.tar.gz: b7afe50d7396365282e6d5e8ff7b8a6c2b0e91e7f1e2d9562d1078dd26bda7a4
5
5
  SHA512:
6
- metadata.gz: 619e5ec7f5fbd0750fb5bc4807d9d7ca0e58b6ba6e3efc9726541bbe3c260a748c026446ce89ef51661254b5285f907254d9b389cb237e141bd525fa23bbf2b6
7
- data.tar.gz: 50e98c64b22c0bbf9d4b5aafd6664d02abdc2d8286a703e9199aed8b5e9597c4ce1ec4abeceabed20c21b5ab6d703b0ff9d4d81637d08b2c2ba93e615b02184f
6
+ metadata.gz: 23b6376b8c659276107e35c4e58428bc68a4cd8d2d24830ee27c99a83dea0349516af72bf8746a9064f115d35ae3e2f8affa376c6b6ec77d8b7a89aa7ddede8c
7
+ data.tar.gz: 7633f97e950e07f2381f25d1a181b427408fa8e46790b0506c31d83d029f58f5098a073446d659d82a05988c20848f60a37fbfe5759340a8613da87bdbc53cae
@@ -0,0 +1,14 @@
1
+ ARG RUBY_VERSION
2
+
3
+ FROM ruby:${RUBY_VERSION}
4
+
5
+ ARG IMAGEMAGICK_VERSION
6
+
7
+ RUN mkdir /setup
8
+ ADD *.sh /setup
9
+
10
+ ENV IMAGEMAGICK_VERSION ${IMAGEMAGICK_VERSION}
11
+
12
+ RUN /setup/setup-user.sh
13
+
14
+ WORKDIR /workspaces/rmagick
@@ -0,0 +1,11 @@
1
+ {
2
+ "name": "ImageMagick 6",
3
+ "build": {
4
+ "dockerfile": "../Dockerfile",
5
+ "args": {
6
+ "RUBY_VERSION": "3.1.2",
7
+ "IMAGEMAGICK_VERSION": "6.9.13-4"
8
+ }
9
+ },
10
+ "onCreateCommand": "/setup/setup-repo.sh"
11
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "name": "ImageMagick 7",
3
+ "build": {
4
+ "dockerfile": "Dockerfile",
5
+ "args": {
6
+ "RUBY_VERSION": "3.1.2",
7
+ "IMAGEMAGICK_VERSION": "7.1.1-26"
8
+ }
9
+ },
10
+ "onCreateCommand": "/setup/setup-repo.sh"
11
+ }
@@ -0,0 +1,10 @@
1
+ #!/bin/bash
2
+ set -e
3
+
4
+ apt-get update
5
+ apt-get install sudo
6
+
7
+ bash /workspaces/rmagick/before_install_linux.sh
8
+
9
+ cd /workspaces/rmagick
10
+ bundle install --path=vendor/bundle --jobs 4 --retry 3
@@ -0,0 +1,45 @@
1
+ #!/bin/bash
2
+ set -e
3
+
4
+ codespaces_bash="$(cat \
5
+ <<'EOF'
6
+ # Codespaces bash prompt theme
7
+ __bash_prompt() {
8
+ local userpart='`export XIT=$? \
9
+ && [ ! -z "${GITHUB_USER}" ] && echo -n "\[\033[0;32m\]@${GITHUB_USER} " || echo -n "\[\033[0;32m\]\u " \
10
+ && echo -n "\[\033[0;36m\][IM ${IMAGEMAGICK_VERSION}]" \
11
+ && [ "$XIT" -ne "0" ] && echo -n "\[\033[1;31m\]➜" || echo -n "\[\033[0m\]➜"`'
12
+ local gitbranch='`\
13
+ if [ "$(git config --get codespaces-theme.hide-status 2>/dev/null)" != 1 ]; then \
14
+ export BRANCH=$(git symbolic-ref --short HEAD 2>/dev/null || git rev-parse --short HEAD 2>/dev/null); \
15
+ if [ "${BRANCH}" != "" ]; then \
16
+ echo -n "\[\033[0;36m\](\[\033[1;31m\]${BRANCH}" \
17
+ && if git ls-files --error-unmatch -m --directory --no-empty-directory -o --exclude-standard ":/*" > /dev/null 2>&1; then \
18
+ echo -n " \[\033[1;33m\]✗"; \
19
+ fi \
20
+ && echo -n "\[\033[0;36m\]) "; \
21
+ fi; \
22
+ fi`'
23
+ local lightblue='\[\033[1;34m\]'
24
+ local removecolor='\[\033[0m\]'
25
+ PS1="${userpart} ${lightblue}\w ${gitbranch}${removecolor}\$ "
26
+ unset -f __bash_prompt
27
+ }
28
+ __bash_prompt
29
+
30
+ __show_notice() {
31
+ local __message="
32
+ \033[0;32mWelcome to Codespaces! You are using the pre-configured rmagick image.\033[0m
33
+
34
+ \033[0;35mTests can be executed with:\033[0m bundle exec rake
35
+ \033[0;35mCode style can be checked with:\033[0m STYLE_CHECKS=true bundle exec rubocop
36
+ "
37
+ echo -e "$__message"
38
+
39
+ unset -f __show_notice
40
+ }
41
+ __show_notice
42
+ EOF
43
+ )"
44
+
45
+ echo "${codespaces_bash}" >> "/root/.bashrc"
data/.editorconfig CHANGED
@@ -13,5 +13,5 @@ tab_width = 2
13
13
  [{*.{rb,yml,sh,md}]
14
14
  indent_size = 2
15
15
 
16
- [*.c]
16
+ [*.cpp]
17
17
  indent_size = 4
@@ -7,12 +7,15 @@ on:
7
7
  pull_request:
8
8
  workflow_dispatch:
9
9
 
10
+ permissions:
11
+ contents: read
12
+
10
13
  jobs:
11
14
  lint:
12
15
  runs-on: ubuntu-latest
13
- timeout-minutes: 10
16
+ timeout-minutes: 20
14
17
  steps:
15
- - uses: actions/checkout@v2
18
+ - uses: actions/checkout@v4
16
19
  - name: Set up Ruby 2.3
17
20
  uses: ruby/setup-ruby@master
18
21
  with:
@@ -24,19 +27,32 @@ jobs:
24
27
 
25
28
  test-linux:
26
29
  runs-on: ubuntu-latest
27
- timeout-minutes: 10
30
+ timeout-minutes: 20
28
31
  strategy:
29
32
  matrix:
30
- ruby-version: ['2.3', '2.4', '2.5', '2.6', '2.7', '3.0']
33
+ ruby-version: ['2.3', '2.4', '2.5', '2.6', '2.7', '3.0', '3.1', '3.2', '3.3']
31
34
  imagemagick-version:
32
35
  - { full: 6.7.7-10, major-minor: '6.7' }
33
36
  - { full: 6.8.9-10, major-minor: '6.8' }
34
- - { full: 6.9.11-58, major-minor: '6.9' }
35
- - { full: 7.0.10-58, major-minor: '7.0' }
37
+ - { full: 6.9.13-4, major-minor: '6.9' }
38
+ - { full: 7.0.11-14, major-minor: '7.0' }
39
+ - { full: 7.1.1-26, major-minor: '7.1' }
40
+ exclude:
41
+ # Ghostscript 9.55.0 causes error with Ruby 3.3 + ImageMagick 6.7 when run Magick::Draw tests.
42
+ # It disable running tests with Ruby 3.3 + ImageMagick 6.7 because it might be difficult to support old ImageMagick.
43
+ - ruby-version: '3.3'
44
+ imagemagick-version: { major-minor: '6.7' }
36
45
 
37
46
  name: Linux, Ruby ${{ matrix.ruby-version }}, IM ${{ matrix.imagemagick-version.major-minor }}
38
47
  steps:
39
- - uses: actions/checkout@v2
48
+ - uses: actions/checkout@v4
49
+ - name: Cache ImageMagick built objects
50
+ uses: actions/cache@v4
51
+ with:
52
+ path: ./build-ImageMagick
53
+ key: v1-${{ runner.os }}-imagemagick-${{ matrix.imagemagick-version.full }}
54
+ restore-keys: |
55
+ v1-${{ runner.os }}-imagemagick-${{ matrix.imagemagick-version.full }}
40
56
  - name: Set up Ruby ${{ matrix.ruby-version }}
41
57
  uses: ruby/setup-ruby@master
42
58
  with:
@@ -55,14 +71,21 @@ jobs:
55
71
  timeout-minutes: 20
56
72
  strategy:
57
73
  matrix:
58
- ruby-version: ['2.6', '2.7', '3.0']
74
+ ruby-version: ['2.6', '2.7', '3.0', '3.1', '3.2', '3.3']
59
75
  imagemagick-version:
60
- - { full: 6.9.11-58, major-minor: '6.9' }
61
- - { full: 7.0.10-58, major-minor: '7.0' }
76
+ - { full: 6.9.13-4, major-minor: '6.9' }
77
+ - { full: 7.1.1-26, major-minor: '7.1' }
62
78
 
63
79
  name: macOS, Ruby ${{ matrix.ruby-version }}, IM ${{ matrix.imagemagick-version.major-minor }}
64
80
  steps:
65
- - uses: actions/checkout@v2
81
+ - uses: actions/checkout@v4
82
+ - name: Cache ImageMagick built objects
83
+ uses: actions/cache@v4
84
+ with:
85
+ path: ./build-ImageMagick
86
+ key: v1-${{ runner.os }}-imagemagick-${{ matrix.imagemagick-version.full }}
87
+ restore-keys: |
88
+ v1-${{ runner.os }}-imagemagick-${{ matrix.imagemagick-version.full }}
66
89
  - name: Set up Ruby ${{ matrix.ruby-version }}
67
90
  uses: ruby/setup-ruby@master
68
91
  with:
@@ -77,31 +100,43 @@ jobs:
77
100
 
78
101
  test-windows:
79
102
  runs-on: windows-latest
80
- timeout-minutes: 10
103
+ timeout-minutes: 20
81
104
  strategy:
82
105
  matrix:
83
- ruby-version: ['2.3', '2.4', '2.5', '2.6', '2.7', '3.0']
106
+ ruby-version: ['3.3']
84
107
  imagemagick-version:
85
- - { full: 6.8.9-10, major-minor: '6.8' }
86
- - { full: 6.9.11-29, major-minor: '6.9' } # seems that binary file mirroring have stopped.
87
- - { full: 7.0.10-29, major-minor: '7.0' } # seems that binary file mirroring have stopped.
108
+ - { full: 6.9.13-4, major-minor: '6.9' }
109
+ - { full: 7.1.1-26, major-minor: '7.1' }
110
+ env:
111
+ bundled_im_dir: C:\Program Files\ImageMagick-7.1.1-Q16-HDRI
112
+ install_im_dir: D:\ImageMagick
113
+
88
114
  name: MSWin, Ruby ${{ matrix.ruby-version }}, IM ${{ matrix.imagemagick-version.major-minor }}
89
115
  steps:
90
- - uses: actions/checkout@v2
116
+ - uses: actions/checkout@v4
117
+ - name: Setup environment variable
118
+ # https://stackoverflow.com/questions/60169752/how-to-update-the-path-in-a-github-action-workflow-file-for-a-windows-latest-hos
119
+ run: |
120
+ Add-Content $env:GITHUB_PATH ${{ env.install_im_dir }}
121
+ - name: Uninstall bundled ImageMagick
122
+ # Bundled ImageMagick does not have C/C++ library and dll which required by rmagick.
123
+ run: |
124
+ Start-Process -FilePath "${{ env.bundled_im_dir }}\unins000.exe" -ArgumentList "/VERYSILENT /NORESTART"
91
125
  - name: Set up Ruby ${{ matrix.ruby-version }}
92
126
  uses: ruby/setup-ruby@master
93
127
  with:
94
128
  ruby-version: ${{ matrix.ruby-version }}
129
+ - name: Install ghostscript
130
+ run: |
131
+ choco install ghostscript
95
132
  - name: Install ImageMagick
133
+ # https://github.com/rmagick/ImageMagick-binaries
96
134
  run: |
97
135
  $imagemagick_version = "${{ matrix.imagemagick-version.full }}"
98
- $imagemagick_version_without_patch = $imagemagick_version.split("-")[0]
99
136
  $installer_name = "ImageMagick-$($imagemagick_version)-Q16-x64-dll.exe"
100
- $url = "https://ftp.icm.edu.pl/pub/graphics/ImageMagick/binaries/$($installer_name)"
101
- choco install wget
102
- choco install ghostscript -Version 9.50
103
- wget $url --progress=dot
104
- cmd.exe /D /S /C "$($installer_name) /DIR=D:\ImageMagick /VERYSILENT /TASKS=install_Devel"
137
+ $url = "https://github.com/rmagick/ImageMagick-binaries/raw/main/$($installer_name)"
138
+ Invoke-WebRequest -Uri $url -OutFile $installer_name
139
+ Start-Process -FilePath $installer_name -ArgumentList "/DIR=${{ env.install_im_dir }} /VERYSILENT /NORESTART /TASKS=install_Devel"
105
140
  - name: Build and test with Rake
106
141
  run: |
107
- cmd.exe /D /S /C "SET MAKE=make & SET PATH=D:\ImageMagick;%PATH% & bundle install --path=vendor/bundle --retry 3 & bundle exec rake"
142
+ cmd.exe /D /S /C "bundle install --path=vendor/bundle --retry 3 & bundle exec rake"
data/.gitignore CHANGED
@@ -20,6 +20,9 @@ tmp
20
20
  *.o
21
21
  *.a
22
22
  *.log
23
+ *.def
23
24
  Makefile
24
25
  extconf.h
25
26
  build-ImageMagick/
27
+ doc/node_modules/
28
+ doc/package-lock.json
data/.rubocop_todo.yml CHANGED
@@ -182,7 +182,6 @@ Naming/ConstantName:
182
182
  # 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
183
  Naming/FileName:
184
184
  Exclude:
185
- - 'deprecated/RMagick.rb'
186
185
  - 'doc/ex/InitialCoords.rb'
187
186
  - 'doc/ex/NewCoordSys.rb'
188
187
  - 'doc/ex/OrigCoordSys.rb'
data/.yardopts CHANGED
@@ -1,5 +1,5 @@
1
1
  --no-private
2
2
  lib/**/*.rb
3
- ext/**/*.c
3
+ ext/**/*.cpp
4
4
  *.md
5
5
  LICENSE
data/CHANGELOG.md CHANGED
@@ -3,6 +3,137 @@
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.4.4
7
+
8
+ Bug Fixes
9
+
10
+ - Fix installation error again in some environment at creatint Makefile (#1465)
11
+ - Fix Pixel#<=> which should accept other class instance (#1463)
12
+
13
+ ## RMagick 5.4.3
14
+
15
+ Bug Fixes
16
+
17
+ - Fix installation error in some environment by using x flag to use C++ compiler in order to create Makefile (#1460)
18
+
19
+ ## RMagick 5.4.2
20
+
21
+ Improvements
22
+
23
+ - Check C++ compiler exists (#1453)
24
+
25
+ ## RMagick 5.4.1
26
+
27
+ Bug Fixes
28
+
29
+ - Fix invalid cast between different size variables (#1448)
30
+
31
+ ## RMagick 5.4.0
32
+
33
+ Improvements
34
+
35
+ - Use rb_io_path() if exist because pathv attr was marked as deprecated at Ruby 3.3 (#1409)
36
+ - Add observer gem as dependency (#1411)
37
+ - Add aliases of filter type (#1439)
38
+ - Release GVL in Image#contrast (#1440)
39
+
40
+ Bug Fixes
41
+
42
+ - Use C++ compiler in order to fix installation error with latest ImageMagick 7 on Windows (#1433)
43
+
44
+ ## RMagick 5.3.0
45
+
46
+ Improvements
47
+
48
+ - Support GC compaction (#1388)
49
+
50
+ Bug Fixes
51
+
52
+ - Fix memory leak in `Magick::Draw` for recentry ImageMagick 6 by removing unnecessary `GetDrawInfo()` calling (#1406)
53
+ - Fix crash on ImageList#write with animation gif (#1379)
54
+ - Windows: Fix RubyInstaller::Runtime::DllDirectory::WinApiError (#1381)
55
+
56
+ ## RMagick 5.2.0
57
+
58
+ Improvements
59
+
60
+ - Add OnAlphaChannel and OffAlphaChannel to the AlphaChannelOption enumeration. (#1377)
61
+ - Add Ruby 3.2 support (#1370)
62
+
63
+ ## RMagick 5.1.0
64
+
65
+ Improvements
66
+
67
+ - Improve multi-thread performance by releasing GVL (#1352)
68
+ - Add Ractor support (#1349)
69
+ - Avoid overriding compilation variables (#1365)
70
+ - Remove pkg-config command dependency (#1366)
71
+
72
+ ## RMagick 5.0.0
73
+
74
+ Improvements
75
+
76
+ - Improve installer in order to avoid SEGV within pkg-config command (#1359)
77
+ - Clean up the documents and comment in source code referring to something that no longer exist (#1363)
78
+ - Remove deprecated 'tile' attribute in Draw#marshal_dump (#1364)
79
+ - Remove deprecated #instance_eval calling when block was given with Magick::ImageList#montage, Magick::Image::Info.new and more (#1362)
80
+ - Remove deprecated RMagick.rb file (#1361)
81
+ - Remove deprecated Magick.trace_proc= (#1351)
82
+ - Remove deprecated Magick::{Image, Image::Info}#monitor= (#1356)
83
+
84
+ ## RMagick 4.3.0
85
+
86
+ Deprecates
87
+
88
+ - Mark Magick.trace_proc= as deprecated (#1354)
89
+ - Mark Magick::{Image, Image::Info}#monitor= as deprecated (#1353)
90
+
91
+ These methods will be removed in RMagick 5.0 and no alternative.
92
+
93
+ ## RMagick 4.2.6
94
+
95
+ Improvements
96
+
97
+ - Remove test_files to reduce gem package size (#1338)
98
+
99
+ Bug Fixes
100
+
101
+ - Guard against an empty rpath (#1333)
102
+ - Call GetImageDistortion instead of IsImagesEqual to fix the issue reported in #1342 (#1343)
103
+
104
+ ## RMagick 4.2.5
105
+
106
+ Bug Fixes
107
+
108
+ - Specify rpath linker option to fix dynamic lib lookup failure on Linux (#1325)
109
+ - Fix Image#profile! that can't delete exif data (#1326)
110
+
111
+ ## RMagick 4.2.4
112
+
113
+ Improvements
114
+
115
+ - spec_helper: drop require_relative to lib directory (#1306)
116
+ - Fix build error with Ruby 3.1 on macOS (#1313)
117
+
118
+ Bug Fixes
119
+
120
+ - remove Mutex in trace_proc= (#1303)
121
+ - channel_mean_spec: fix floating point comparison (#1307)
122
+ - changed_predicate_spec: ensure target directory exists (#1305)
123
+ - Doc: Fix documentation of Magick::Image#crop (#1311)
124
+ - Magick::UndefinedKernel should also not be used when creating a new KernelInfo. (#1312)
125
+
126
+ ## RMagick 4.2.3
127
+
128
+ Bug Fixes
129
+
130
+ - Re-add block syntax deprecation warning and fix in RMagick source (#1279) (#1280)
131
+ - Doc: Replace Magick::Montage with Magick::ImageList::Montage (#1281)
132
+ - Update shadow example (#1297)
133
+ - Escape the backslashes in windows error message (#1298)
134
+ - Also set the alpha value of the target pixel (#1299)
135
+ - Set alpha_trait to BlendPixelTrait when the alpha value of the pixel is not opaque. (#1300)
136
+
6
137
  ## RMagick 4.2.2
7
138
 
8
139
  Bug Fixes:
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 gcc ImageMagick-devel make which
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 pkg-config imagemagick
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 pkgconfig imagemagick imagemagick-dev imagemagick-libs
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 pkgconfig imagemagick6 imagemagick6-dev imagemagick6-libs
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 pkg-config imagemagick
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 pkg-config imagemagick@6
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 librarries for C and C++` in an installer for RMagick.
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:
@@ -197,6 +190,8 @@ export LD_LIBRARY_PATH=/usr/local/lib
197
190
  On Linux, see `ld(1)` and `ld.so(8)` for more information. On other operating
198
191
  systems, see the documentation for the dynamic loading facility.
199
192
 
193
+ This operation might not be required when you can use 4.2.5 or later.
194
+
200
195
  ### Segmentation fault
201
196
 
202
197
  Default stack size of your operating system might be too small. Try removing