rmagick 6.0.0 → 6.0.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4002a5d6c97fb78a5f1a75b4b192cf5151a43570702da719262b34ea08f19c28
4
- data.tar.gz: 61a03fd6de17ec92ddbf4650a03076072dfda17a6a6c9bcb5db7bb90089c5c84
3
+ metadata.gz: 513aba969c109a4cbaef2540e0c8c24b698bae9741340190439f689f36221dc5
4
+ data.tar.gz: b4c08a874757081e94168f3d61d648fa415a5db3bdf506fd9e1e33d23ddc4a44
5
5
  SHA512:
6
- metadata.gz: dd88b3a404b7dedd24bd18a71cd5245af2b4cc38df32c377b9a3e8dbcb99b1790e9bd349e6c9abc9e45a0f64c6d75fdd5b92333e4febd1e3884cd04e8a07c23a
7
- data.tar.gz: aa9ac858769d7332a334cfa154f361028650eeb2947fb0f28dc254d71d72932e0e39a04726586847230f53ee658bb2d169fab385c6992d20e3bac2e8343c707a
6
+ metadata.gz: b023dd20af9b18850820465beeec888783d0fd49d96ae35cb8aab30627789a7c542a575095bb15b85e4509d7194162bbe382bf9321e3b2e9f4d033c9dad44e82
7
+ data.tar.gz: 7cd836b62e7dc614fa00e5b781d096e05d8bac29a05e36c319cc57446e0ff285d91e4f7f1b0b27e38e0c36a3a190b50960470f4d0e808b1e93e61c81735e35db
data/.rubocop.yml CHANGED
@@ -62,3 +62,6 @@ RSpec/AlignRightLetBrace:
62
62
 
63
63
  Style/Copyright:
64
64
  Enabled: false
65
+
66
+ Style/DisableCopsWithinSourceCodeDirective:
67
+ Enabled: false
data/.rubocop_todo.yml CHANGED
@@ -171,12 +171,6 @@ Lint/FloatComparison:
171
171
  Exclude:
172
172
  - 'lib/rvg/stretchable.rb'
173
173
 
174
- # Offense count: 1
175
- # This cop supports safe autocorrection (--autocorrect).
176
- Lint/IdentityComparison:
177
- Exclude:
178
- - 'lib/rmagick_internal.rb'
179
-
180
174
  # Offense count: 91
181
175
  # This cop supports unsafe autocorrection (--autocorrect-all).
182
176
  # Configuration parameters: AllowedMethods, AllowedPatterns, IgnoredClasses.
@@ -199,12 +193,6 @@ Lint/RescueException:
199
193
  Exclude:
200
194
  - 'lib/rmagick_internal.rb'
201
195
 
202
- # Offense count: 1
203
- # Configuration parameters: AllowComments, AllowNil.
204
- Lint/SuppressedException:
205
- Exclude:
206
- - 'lib/rmagick_internal.rb'
207
-
208
196
  # Offense count: 39
209
197
  # Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes.
210
198
  Metrics/AbcSize:
@@ -389,12 +377,6 @@ Style/ClassMethodsDefinitions:
389
377
  Style/CommentedKeyword:
390
378
  Enabled: false
391
379
 
392
- # Offense count: 2
393
- # This cop supports unsafe autocorrection (--autocorrect-all).
394
- Style/ConcatArrayLiterals:
395
- Exclude:
396
- - 'spec/rmagick/image_list/concat_spec.rb'
397
-
398
380
  # Offense count: 129
399
381
  # Configuration parameters: IgnoreModules.
400
382
  Style/ConstantVisibility:
@@ -408,17 +390,6 @@ Style/ConstantVisibility:
408
390
  - 'lib/rvg/stylable.rb'
409
391
  - 'spec/support/helpers.rb'
410
392
 
411
- # Offense count: 9
412
- # This cop supports safe autocorrection (--autocorrect).
413
- # Configuration parameters: AllowedCops.
414
- Style/DisableCopsWithinSourceCodeDirective:
415
- Exclude:
416
- - 'lib/rmagick_internal.rb'
417
- - 'spec/magick_spec.rb'
418
- - 'spec/rmagick/image_list/collect_spec.rb'
419
- - 'spec/rmagick/image_list/find_all_spec.rb'
420
- - 'spec/rmagick/image_list_spec.rb'
421
-
422
393
  # Offense count: 3
423
394
  Style/DocumentDynamicEvalDefinition:
424
395
  Exclude:
@@ -455,12 +426,6 @@ Style/FormatStringToken:
455
426
  Style/FrozenStringLiteralComment:
456
427
  Enabled: false
457
428
 
458
- # Offense count: 1
459
- # This cop supports unsafe autocorrection (--autocorrect-all).
460
- Style/GlobalStdStream:
461
- Exclude:
462
- - 'Rakefile'
463
-
464
429
  # Offense count: 46
465
430
  # Configuration parameters: AllowedVariables.
466
431
  Style/GlobalVars:
data/CHANGELOG.md CHANGED
@@ -3,6 +3,13 @@
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 6.0.1
7
+
8
+ Bug Fixes
9
+
10
+ - Fix build error on FreeBSD (#1618)
11
+ - Fix build error with GCC 14 on Windows (#1616)
12
+
6
13
  ## RMagick 6.0.0
7
14
 
8
15
  Improvements
data/README.md CHANGED
@@ -105,10 +105,10 @@ brew install imagemagick@6
105
105
  ### Windows
106
106
  1. Install latest Ruby+Devkit package which you can get from [RubyInstaller for Windows](https://rubyinstaller.org).
107
107
  2. You might need to configure `PATH` environment variable to where the compiler is located.
108
- (Ex: `set PATH=C:\Ruby27-x64\msys64\usr\bin;C:\Ruby27-x64\msys64\mingw64\bin;%PATH%`)
108
+ (Ex: `set PATH=C:\Ruby33-x64\bin;C:\Ruby33-x64\msys64\ucrt64\bin;%PATH%`)
109
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).
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.
111
- <img width="50%" src="https://user-images.githubusercontent.com/199156/77183472-b72cbd00-6b11-11ea-8b9a-247bc1f9d8b1.png" />
110
+ 4. Install ImageMagick. You need to turn on checkboxes `Add application directory to your system path` and `Install development headers for C and C++` in an installer for RMagick.
111
+ <img width="75%" src="https://github.com/rmagick/rmagick/assets/199156/494e7963-cca5-4cb5-b28a-6c4d76adce5d" />
112
112
 
113
113
  Installing RMagick
114
114
  ------------------
data/Rakefile CHANGED
@@ -2,11 +2,9 @@ require 'simplecov'
2
2
  require './lib/rmagick/version'
3
3
  require 'fileutils'
4
4
  require 'English'
5
-
6
- desc "Open an irb session preloaded with this library"
7
- task :console do
8
- sh "irb -r ./ext/RMagick/extconf.rb -r ./lib/rmagick.rb"
9
- end
5
+ require 'bundler/gem_tasks'
6
+ require 'rake/extensiontask'
7
+ require 'rspec/core/rake_task'
10
8
 
11
9
  task :config do
12
10
  def version
@@ -52,7 +50,7 @@ task push_and_tag: [:build] do
52
50
  sh "gem push #{File.join(base, 'pkg', gem_name)}"
53
51
  if $CHILD_STATUS.success?
54
52
  sh "git tag -a -m \"Version #{version}\" #{version_tag}"
55
- STDOUT.puts "Tagged #{version_tag}."
53
+ puts "Tagged #{version_tag}."
56
54
  sh 'git push'
57
55
  sh 'git push --tags'
58
56
  else
@@ -60,6 +58,7 @@ task push_and_tag: [:build] do
60
58
  end
61
59
  end
62
60
 
61
+ Rake::Task["release"].clear # Remove `release` task in bundler/gem_tasks
63
62
  desc 'Release'
64
63
  task release: %i[assert_clean_repo push_and_tag]
65
64
 
@@ -125,8 +124,8 @@ namespace :website do
125
124
  end
126
125
  end
127
126
 
128
- desc 'Update RMagick website'
129
- task :update do
127
+ desc 'Update RMagick website HTML files'
128
+ task :"update:html" do
130
129
  unless File.exist?(PATH_TO_LOCAL_WEBSITE_REPOSITORY)
131
130
  puts "Please clone the rmagick.github.io repository to #{PATH_TO_LOCAL_WEBSITE_REPOSITORY}"
132
131
  exit 1
@@ -141,6 +140,25 @@ namespace :website do
141
140
  file_to_html('doc/ex', file_name, PATH_TO_LOCAL_WEBSITE_REPOSITORY, "#{file_name}.html")
142
141
  end
143
142
  end
143
+
144
+ desc 'Update RMagick website image files'
145
+ task :"update:image" do
146
+ unless File.exist?(PATH_TO_LOCAL_WEBSITE_REPOSITORY)
147
+ puts "Please clone the rmagick.github.io repository to #{PATH_TO_LOCAL_WEBSITE_REPOSITORY}"
148
+ exit 1
149
+ end
150
+
151
+ Rake::Task['install'].invoke
152
+
153
+ FileUtils.rm_rf("#{PATH_TO_LOCAL_WEBSITE_REPOSITORY}/ex")
154
+ FileUtils.cp_r('doc/ex', PATH_TO_LOCAL_WEBSITE_REPOSITORY)
155
+
156
+ FileUtils.cd("#{PATH_TO_LOCAL_WEBSITE_REPOSITORY}/ex") do
157
+ Dir.glob('*.rb').each do |file|
158
+ sh "ruby #{file}"
159
+ end
160
+ end
161
+ end
144
162
  end
145
163
 
146
164
  namespace :rbs do
@@ -153,9 +171,6 @@ namespace :rbs do
153
171
  end
154
172
  end
155
173
 
156
- require 'bundler/gem_tasks'
157
- require 'rake/extensiontask'
158
- require 'rspec/core/rake_task'
159
174
  RSpec::Core::RakeTask.new(:spec)
160
175
 
161
176
  Rake::ExtensionTask.new('RMagick2') do |ext|
@@ -15,10 +15,10 @@ fi
15
15
 
16
16
  export HOMEBREW_NO_AUTO_UPDATE=true
17
17
  brew uninstall --force imagemagick imagemagick@6
18
- brew install wget ghostscript freetype libtool jpeg little-cms2 openexr libomp libpng libtiff liblqr zlib webp zstd
18
+ brew install wget ghostscript freetype libtool jpeg jpeg-xl little-cms2 openexr libomp libpng libtiff liblqr zlib webp zstd
19
19
 
20
- export LDFLAGS="-L$(brew --prefix jpeg)/lib -L$(brew --prefix little-cms2)/lib -L$(brew --prefix openexr)/lib -L$(brew --prefix libomp)/lib -L$(brew --prefix libpng)/lib -L$(brew --prefix libtiff)/lib -L$(brew --prefix liblqr)/lib -L$(brew --prefix zlib)/lib -L$(brew --prefix webp)/lib -L$(brew --prefix zstd)/lib"
21
- export CPPFLAGS="-I$(brew --prefix jpeg)/include -I$(brew --prefix openexr)/include/OpenEXR -I$(brew --prefix libtiff)/include -I$(brew --prefix zlib)/include -I$(brew --prefix zstd)/include -I$(brew --prefix glib)/include/glib-2.0 -I$(brew --prefix glib)/lib/glib-2.0/include"
20
+ export LDFLAGS="-L$(brew --prefix jpeg)/lib -I$(brew --prefix jpeg-xl)/lib -L$(brew --prefix little-cms2)/lib -L$(brew --prefix openexr)/lib -L$(brew --prefix libomp)/lib -L$(brew --prefix libpng)/lib -L$(brew --prefix libtiff)/lib -L$(brew --prefix liblqr)/lib -L$(brew --prefix zlib)/lib -L$(brew --prefix webp)/lib -L$(brew --prefix zstd)/lib"
21
+ export CPPFLAGS="-I$(brew --prefix jpeg)/include -I$(brew --prefix jpeg-xl)/include -I$(brew --prefix openexr)/include/OpenEXR -I$(brew --prefix libtiff)/include -I$(brew --prefix zlib)/include -I$(brew --prefix zstd)/include -I$(brew --prefix glib)/include/glib-2.0 -I$(brew --prefix glib)/lib/glib-2.0/include"
22
22
 
23
23
  project_dir=$(pwd)
24
24
  build_dir="${project_dir}/build-ImageMagick/ImageMagick-${IMAGEMAGICK_VERSION}"
@@ -41,7 +41,11 @@ build_imagemagick() {
41
41
  fi
42
42
 
43
43
  cd "${build_dir}"
44
- ./configure --prefix=/usr/local "${options}" --without-raw
44
+ ./configure \
45
+ --prefix=/usr/local \
46
+ "${options}" \
47
+ --with-gs-font-dir=/opt/homebrew/share/ghostscript/fonts \
48
+ --without-raw
45
49
  make -j
46
50
  }
47
51
 
@@ -20,6 +20,7 @@ module RMagick
20
20
  ImageMagick-6.Q32
21
21
  ImageMagick-6.Q16
22
22
  ImageMagick-6.Q8
23
+ ImageMagick-6
23
24
  ].freeze
24
25
 
25
26
  # ImageMagick 7 packages
@@ -32,6 +33,7 @@ module RMagick
32
33
  ImageMagick-7.Q32
33
34
  ImageMagick-7.Q16
34
35
  ImageMagick-7.Q8
36
+ ImageMagick-7
35
37
  ].freeze
36
38
 
37
39
  attr_reader :headers
@@ -129,7 +131,7 @@ module RMagick
129
131
  configure_archflags_for_osx($magick_package) if RUBY_PLATFORM.include?('darwin') # osx
130
132
 
131
133
  end
132
- $CPPFLAGS += ' $(optflags) $(debugflags)'
134
+ $CPPFLAGS += ' $(optflags) $(debugflags) -fomit-frame-pointer'
133
135
  end
134
136
 
135
137
  def exit_failure(msg)
@@ -273,8 +273,8 @@ typedef struct
273
273
 
274
274
  //! Quantum expression adapter.
275
275
  /**
276
- * Both ImageMagick and GraphicsMagick define an enum type for quantum-level
277
- * expressions, but they're different types. The QuantumExpressionOperator
276
+ * ImageMagick defines an enum type for quantum-level expressions,
277
+ * but they're different types. The QuantumExpressionOperator
278
278
  * type is an adapter type that can be mapped to either one.
279
279
  */
280
280
  typedef enum _QuantumExpressionOperator
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Magick
4
- VERSION = '6.0.0'
4
+ VERSION = '6.0.1'
5
5
  MIN_RUBY_VERSION = '3.0.0'
6
6
  MIN_IM_VERSION = '6.8.9'
7
7
  end
@@ -11,12 +11,9 @@
11
11
  #==============================================================================
12
12
 
13
13
  if RUBY_PLATFORM.match?(/mingw/i)
14
- begin
15
- require 'ruby_installer'
16
- ENV['PATH'].split(File::PATH_SEPARATOR).grep(/ImageMagick/i).each do |path|
17
- RubyInstaller::Runtime.add_dll_directory(path) if File.exist?(File.join(path, 'CORE_RL_magick_.dll')) || File.exist?(File.join(path, 'CORE_RL_MagickCore_.dll'))
18
- end
19
- rescue LoadError
14
+ require 'ruby_installer'
15
+ ENV['PATH'].split(File::PATH_SEPARATOR).grep(/ImageMagick/i).each do |path|
16
+ RubyInstaller::Runtime.add_dll_directory(path) if File.exist?(File.join(path, 'CORE_RL_magick_.dll')) || File.exist?(File.join(path, 'CORE_RL_MagickCore_.dll'))
20
17
  end
21
18
  end
22
19
 
@@ -1616,7 +1613,7 @@ module Magick
1616
1613
  if @scene
1617
1614
  img = @images[@scene]
1618
1615
  new_img = img.public_send(meth_id, *args, &block)
1619
- img.object_id == new_img.object_id ? self : new_img
1616
+ img.equal?(new_img) ? self : new_img
1620
1617
  else
1621
1618
  super
1622
1619
  end
data/rmagick.gemspec CHANGED
@@ -12,6 +12,10 @@ Gem::Specification.new do |s|
12
12
  s.homepage = 'https://github.com/rmagick/rmagick'
13
13
  s.license = 'MIT'
14
14
 
15
+ s.metadata['bug_tracker_uri'] = 'https://github.com/rmagick/rmagick/issues'
16
+ s.metadata['documentation_uri'] = 'https://rmagick.github.io/'
17
+ s.metadata['changelog_uri'] = 'https://github.com/rmagick/rmagick/blob/main/CHANGELOG.md'
18
+
15
19
  tracked_files = `git ls-files`.split($OUTPUT_RECORD_SEPARATOR)
16
20
  file_exclusion_regex = /\A(doc|benchmarks|examples|spec|Steepfile)/
17
21
  files = tracked_files.reject { |file| file[file_exclusion_regex] }
metadata CHANGED
@@ -1,17 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rmagick
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.0.0
4
+ version: 6.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tim Hunter
8
8
  - Omer Bar-or
9
9
  - Benjamin Thomas
10
10
  - Moncef Maiza
11
- autorequire:
11
+ autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2024-05-02 00:00:00.000000000 Z
14
+ date: 2024-05-15 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: observer
@@ -137,8 +137,11 @@ files:
137
137
  homepage: https://github.com/rmagick/rmagick
138
138
  licenses:
139
139
  - MIT
140
- metadata: {}
141
- post_install_message:
140
+ metadata:
141
+ bug_tracker_uri: https://github.com/rmagick/rmagick/issues
142
+ documentation_uri: https://rmagick.github.io/
143
+ changelog_uri: https://github.com/rmagick/rmagick/blob/main/CHANGELOG.md
144
+ post_install_message:
142
145
  rdoc_options: []
143
146
  require_paths:
144
147
  - lib
@@ -155,8 +158,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
155
158
  version: '0'
156
159
  requirements:
157
160
  - ImageMagick 6.8.9 or later
158
- rubygems_version: 3.4.10
159
- signing_key:
161
+ rubygems_version: 3.5.9
162
+ signing_key:
160
163
  specification_version: 4
161
164
  summary: Ruby binding to ImageMagick
162
165
  test_files: []