rmagick 4.0.0 → 5.3.0

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 (420) 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 +3 -0
  8. data/.github/ISSUE_TEMPLATE.md +17 -0
  9. data/.github/workflows/ci.yml +138 -0
  10. data/.gitignore +5 -1
  11. data/.rspec +1 -0
  12. data/.rubocop.yml +24 -0
  13. data/.rubocop_todo.yml +150 -297
  14. data/.yardopts +5 -0
  15. data/CHANGELOG.md +222 -0
  16. data/CODE_OF_CONDUCT.md +122 -7
  17. data/CONTRIBUTING.md +14 -10
  18. data/README.md +316 -0
  19. data/Rakefile +59 -93
  20. data/before_install_linux.sh +23 -29
  21. data/before_install_osx.sh +58 -2
  22. data/ext/RMagick/extconf.rb +191 -110
  23. data/ext/RMagick/rmagick.c +77 -104
  24. data/ext/RMagick/rmagick.h +138 -99
  25. data/ext/RMagick/rmagick_gvl.h +224 -0
  26. data/ext/RMagick/rmdraw.c +464 -526
  27. data/ext/RMagick/rmenum.c +132 -121
  28. data/ext/RMagick/rmfill.c +223 -83
  29. data/ext/RMagick/rmilist.c +360 -288
  30. data/ext/RMagick/rmimage.c +5550 -4318
  31. data/ext/RMagick/rminfo.c +637 -818
  32. data/ext/RMagick/rmkinfo.c +88 -92
  33. data/ext/RMagick/rmmain.c +462 -263
  34. data/ext/RMagick/rmmontage.c +105 -150
  35. data/ext/RMagick/rmpixel.c +554 -359
  36. data/ext/RMagick/rmstruct.c +81 -94
  37. data/ext/RMagick/rmutil.c +279 -270
  38. data/lib/rmagick/version.rb +3 -1
  39. data/lib/rmagick.rb +2 -0
  40. data/lib/rmagick_internal.rb +118 -104
  41. data/lib/rvg/clippath.rb +2 -1
  42. data/lib/rvg/container.rb +10 -5
  43. data/lib/rvg/describable.rb +1 -1
  44. data/lib/rvg/embellishable.rb +5 -4
  45. data/lib/rvg/misc.rb +15 -12
  46. data/lib/rvg/paint.rb +2 -1
  47. data/lib/rvg/pathdata.rb +12 -11
  48. data/lib/rvg/rvg.rb +10 -6
  49. data/lib/rvg/stylable.rb +9 -7
  50. data/lib/rvg/text.rb +11 -6
  51. data/lib/rvg/transformable.rb +3 -2
  52. data/lib/rvg/units.rb +1 -1
  53. data/rmagick.gemspec +13 -12
  54. metadata +63 -419
  55. data/.appveyor.yml +0 -45
  56. data/.circleci/config.yml +0 -56
  57. data/.ruby-version +0 -1
  58. data/.simplecov +0 -27
  59. data/.travis.yml +0 -62
  60. data/Doxyfile +0 -1514
  61. data/README.textile +0 -259
  62. data/benchmarks/memory/README.md +0 -50
  63. data/benchmarks/memory/image_new.rb +0 -8
  64. data/benchmarks/memory/rmagick.gnuplot +0 -16
  65. data/deprecated/RMagick.rb +0 -6
  66. data/doc/.cvsignore +0 -1
  67. data/doc/comtasks.html +0 -287
  68. data/doc/constants.html +0 -1581
  69. data/doc/css/doc.css +0 -299
  70. data/doc/css/popup.css +0 -34
  71. data/doc/css/ref.css +0 -67
  72. data/doc/draw.html +0 -3272
  73. data/doc/ex/InitialCoords.rb +0 -22
  74. data/doc/ex/NewCoordSys.rb +0 -30
  75. data/doc/ex/OrigCoordSys.rb +0 -16
  76. data/doc/ex/PreserveAspectRatio.rb +0 -204
  77. data/doc/ex/RotateScale.rb +0 -36
  78. data/doc/ex/Skew.rb +0 -38
  79. data/doc/ex/Use01.rb +0 -15
  80. data/doc/ex/Use02.rb +0 -20
  81. data/doc/ex/Use03.rb +0 -16
  82. data/doc/ex/ViewBox.rb +0 -31
  83. data/doc/ex/adaptive_threshold.rb +0 -9
  84. data/doc/ex/add_noise.rb +0 -16
  85. data/doc/ex/affine.rb +0 -48
  86. data/doc/ex/affine_transform.rb +0 -20
  87. data/doc/ex/arc.rb +0 -49
  88. data/doc/ex/arcpath.rb +0 -32
  89. data/doc/ex/arcs01.rb +0 -28
  90. data/doc/ex/arcs02.rb +0 -59
  91. data/doc/ex/average.rb +0 -15
  92. data/doc/ex/axes.rb +0 -64
  93. data/doc/ex/baseline_shift01.rb +0 -17
  94. data/doc/ex/bilevel_channel.rb +0 -8
  95. data/doc/ex/blur_image.rb +0 -12
  96. data/doc/ex/border.rb +0 -10
  97. data/doc/ex/bounding_box.rb +0 -42
  98. data/doc/ex/cbezier1.rb +0 -41
  99. data/doc/ex/cbezier2.rb +0 -41
  100. data/doc/ex/cbezier3.rb +0 -41
  101. data/doc/ex/cbezier4.rb +0 -42
  102. data/doc/ex/cbezier5.rb +0 -42
  103. data/doc/ex/cbezier6.rb +0 -53
  104. data/doc/ex/channel.rb +0 -25
  105. data/doc/ex/charcoal.rb +0 -12
  106. data/doc/ex/chop.rb +0 -29
  107. data/doc/ex/circle.rb +0 -33
  108. data/doc/ex/circle01.rb +0 -16
  109. data/doc/ex/clip_path.rb +0 -60
  110. data/doc/ex/coalesce.rb +0 -57
  111. data/doc/ex/color_fill_to_border.rb +0 -29
  112. data/doc/ex/color_floodfill.rb +0 -28
  113. data/doc/ex/color_histogram.rb +0 -47
  114. data/doc/ex/color_reset.rb +0 -11
  115. data/doc/ex/colorize.rb +0 -16
  116. data/doc/ex/colors.rb +0 -64
  117. data/doc/ex/compose_mask.rb +0 -22
  118. data/doc/ex/composite.rb +0 -133
  119. data/doc/ex/composite_layers.rb +0 -52
  120. data/doc/ex/composite_tiled.rb +0 -21
  121. data/doc/ex/contrast.rb +0 -36
  122. data/doc/ex/crop.rb +0 -31
  123. data/doc/ex/crop_with_gravity.rb +0 -42
  124. data/doc/ex/cubic01.rb +0 -43
  125. data/doc/ex/cubic02.rb +0 -91
  126. data/doc/ex/cycle_colormap.rb +0 -21
  127. data/doc/ex/dissolve.rb +0 -12
  128. data/doc/ex/drawcomp.rb +0 -41
  129. data/doc/ex/drop_shadow.rb +0 -60
  130. data/doc/ex/edge.rb +0 -11
  131. data/doc/ex/ellipse.rb +0 -45
  132. data/doc/ex/ellipse01.rb +0 -21
  133. data/doc/ex/emboss.rb +0 -11
  134. data/doc/ex/enhance.rb +0 -28
  135. data/doc/ex/equalize.rb +0 -11
  136. data/doc/ex/evenodd.rb +0 -42
  137. data/doc/ex/fill_pattern.rb +0 -23
  138. data/doc/ex/flatten_images.rb +0 -36
  139. data/doc/ex/flip.rb +0 -11
  140. data/doc/ex/flop.rb +0 -11
  141. data/doc/ex/font_styles.rb +0 -32
  142. data/doc/ex/fonts.rb +0 -16
  143. data/doc/ex/frame.rb +0 -12
  144. data/doc/ex/gaussian_blur.rb +0 -11
  145. data/doc/ex/get_multiline_type_metrics.rb +0 -41
  146. data/doc/ex/get_pixels.rb +0 -45
  147. data/doc/ex/get_type_metrics.rb +0 -142
  148. data/doc/ex/gradientfill.rb +0 -27
  149. data/doc/ex/grav.rb +0 -45
  150. data/doc/ex/gravity.rb +0 -78
  151. data/doc/ex/group.rb +0 -26
  152. data/doc/ex/hatchfill.rb +0 -27
  153. data/doc/ex/image.rb +0 -44
  154. data/doc/ex/images/Apple.miff +0 -0
  155. data/doc/ex/images/Ballerina.jpg +0 -0
  156. data/doc/ex/images/Ballerina3.jpg +0 -0
  157. data/doc/ex/images/Button_0.gif +0 -0
  158. data/doc/ex/images/Button_1.gif +0 -0
  159. data/doc/ex/images/Button_2.gif +0 -0
  160. data/doc/ex/images/Button_3.gif +0 -0
  161. data/doc/ex/images/Button_4.gif +0 -0
  162. data/doc/ex/images/Button_5.gif +0 -0
  163. data/doc/ex/images/Button_6.gif +0 -0
  164. data/doc/ex/images/Button_7.gif +0 -0
  165. data/doc/ex/images/Button_8.gif +0 -0
  166. data/doc/ex/images/Button_9.gif +0 -0
  167. data/doc/ex/images/Button_A.gif +0 -0
  168. data/doc/ex/images/Button_B.gif +0 -0
  169. data/doc/ex/images/Button_C.gif +0 -0
  170. data/doc/ex/images/Button_D.gif +0 -0
  171. data/doc/ex/images/Button_E.gif +0 -0
  172. data/doc/ex/images/Button_F.gif +0 -0
  173. data/doc/ex/images/Button_G.gif +0 -0
  174. data/doc/ex/images/Button_H.gif +0 -0
  175. data/doc/ex/images/Button_I.gif +0 -0
  176. data/doc/ex/images/Button_J.gif +0 -0
  177. data/doc/ex/images/Button_K.gif +0 -0
  178. data/doc/ex/images/Button_L.gif +0 -0
  179. data/doc/ex/images/Button_M.gif +0 -0
  180. data/doc/ex/images/Button_N.gif +0 -0
  181. data/doc/ex/images/Button_O.gif +0 -0
  182. data/doc/ex/images/Button_P.gif +0 -0
  183. data/doc/ex/images/Button_Q.gif +0 -0
  184. data/doc/ex/images/Button_R.gif +0 -0
  185. data/doc/ex/images/Button_S.gif +0 -0
  186. data/doc/ex/images/Button_T.gif +0 -0
  187. data/doc/ex/images/Button_U.gif +0 -0
  188. data/doc/ex/images/Button_V.gif +0 -0
  189. data/doc/ex/images/Button_W.gif +0 -0
  190. data/doc/ex/images/Button_X.gif +0 -0
  191. data/doc/ex/images/Button_Y.gif +0 -0
  192. data/doc/ex/images/Button_Z.gif +0 -0
  193. data/doc/ex/images/Cheetah.jpg +0 -0
  194. data/doc/ex/images/Coffee.png +0 -0
  195. data/doc/ex/images/Flower_Hat.jpg +0 -0
  196. data/doc/ex/images/Gold_Statue.jpg +0 -0
  197. data/doc/ex/images/Hot_Air_Balloons.jpg +0 -0
  198. data/doc/ex/images/Hot_Air_Balloons_H.jpg +0 -0
  199. data/doc/ex/images/Leaf.miff +0 -0
  200. data/doc/ex/images/No.png +0 -0
  201. data/doc/ex/images/Polynesia.jpg +0 -0
  202. data/doc/ex/images/Red_Rocks.jpg +0 -0
  203. data/doc/ex/images/Rocks_On_Beach.miff +0 -0
  204. data/doc/ex/images/Shorts.jpg +0 -0
  205. data/doc/ex/images/Snake.png +0 -0
  206. data/doc/ex/images/Violin.jpg +0 -0
  207. data/doc/ex/images/Yellow_Rose.miff +0 -0
  208. data/doc/ex/images/big-duck.gif +0 -0
  209. data/doc/ex/images/duck.gif +0 -0
  210. data/doc/ex/images/duck0.gif +0 -0
  211. data/doc/ex/images/duck1.gif +0 -0
  212. data/doc/ex/images/duck10.gif +0 -0
  213. data/doc/ex/images/duck11.gif +0 -0
  214. data/doc/ex/images/duck12.gif +0 -0
  215. data/doc/ex/images/duck13.gif +0 -0
  216. data/doc/ex/images/duck14.gif +0 -0
  217. data/doc/ex/images/duck15.gif +0 -0
  218. data/doc/ex/images/duck2.gif +0 -0
  219. data/doc/ex/images/duck3.gif +0 -0
  220. data/doc/ex/images/duck4.gif +0 -0
  221. data/doc/ex/images/duck5.gif +0 -0
  222. data/doc/ex/images/duck6.gif +0 -0
  223. data/doc/ex/images/duck7.gif +0 -0
  224. data/doc/ex/images/duck8.gif +0 -0
  225. data/doc/ex/images/duck9.gif +0 -0
  226. data/doc/ex/images/graydient230x6.gif +0 -0
  227. data/doc/ex/images/image_with_profile.jpg +0 -0
  228. data/doc/ex/images/logo400x83.gif +0 -0
  229. data/doc/ex/images/model.miff +0 -0
  230. data/doc/ex/images/notimplemented.gif +0 -0
  231. data/doc/ex/images/smile.miff +0 -0
  232. data/doc/ex/images/spin.gif +0 -0
  233. data/doc/ex/implode.rb +0 -34
  234. data/doc/ex/level.rb +0 -11
  235. data/doc/ex/level_colors.rb +0 -11
  236. data/doc/ex/line.rb +0 -41
  237. data/doc/ex/line01.rb +0 -21
  238. data/doc/ex/mask.rb +0 -35
  239. data/doc/ex/matte_fill_to_border.rb +0 -39
  240. data/doc/ex/matte_floodfill.rb +0 -32
  241. data/doc/ex/matte_replace.rb +0 -39
  242. data/doc/ex/median_filter.rb +0 -28
  243. data/doc/ex/modulate.rb +0 -11
  244. data/doc/ex/mono.rb +0 -23
  245. data/doc/ex/morph.rb +0 -25
  246. data/doc/ex/mosaic.rb +0 -37
  247. data/doc/ex/motion_blur.rb +0 -11
  248. data/doc/ex/negate.rb +0 -11
  249. data/doc/ex/negate_channel.rb +0 -9
  250. data/doc/ex/nested_rvg.rb +0 -21
  251. data/doc/ex/nonzero.rb +0 -42
  252. data/doc/ex/normalize.rb +0 -11
  253. data/doc/ex/oil_paint.rb +0 -11
  254. data/doc/ex/opacity.rb +0 -37
  255. data/doc/ex/ordered_dither.rb +0 -11
  256. data/doc/ex/path.rb +0 -63
  257. data/doc/ex/pattern1.rb +0 -25
  258. data/doc/ex/pattern2.rb +0 -26
  259. data/doc/ex/polaroid.rb +0 -26
  260. data/doc/ex/polygon.rb +0 -23
  261. data/doc/ex/polygon01.rb +0 -21
  262. data/doc/ex/polyline.rb +0 -22
  263. data/doc/ex/polyline01.rb +0 -21
  264. data/doc/ex/posterize.rb +0 -8
  265. data/doc/ex/preview.rb +0 -8
  266. data/doc/ex/qbezierpath.rb +0 -52
  267. data/doc/ex/quad01.rb +0 -34
  268. data/doc/ex/quantize-m.rb +0 -25
  269. data/doc/ex/radial_blur.rb +0 -9
  270. data/doc/ex/raise.rb +0 -8
  271. data/doc/ex/random_threshold_channel.rb +0 -13
  272. data/doc/ex/rect01.rb +0 -14
  273. data/doc/ex/rect02.rb +0 -20
  274. data/doc/ex/rectangle.rb +0 -34
  275. data/doc/ex/reduce_noise.rb +0 -28
  276. data/doc/ex/remap.rb +0 -11
  277. data/doc/ex/remap_images.rb +0 -19
  278. data/doc/ex/resize_to_fill.rb +0 -8
  279. data/doc/ex/resize_to_fit.rb +0 -8
  280. data/doc/ex/roll.rb +0 -9
  281. data/doc/ex/rotate.rb +0 -44
  282. data/doc/ex/rotate_f.rb +0 -14
  283. data/doc/ex/roundrect.rb +0 -33
  284. data/doc/ex/rubyname.rb +0 -30
  285. data/doc/ex/rvg_clippath.rb +0 -12
  286. data/doc/ex/rvg_linecap.rb +0 -42
  287. data/doc/ex/rvg_linejoin.rb +0 -40
  288. data/doc/ex/rvg_opacity.rb +0 -18
  289. data/doc/ex/rvg_pattern.rb +0 -26
  290. data/doc/ex/rvg_stroke_dasharray.rb +0 -11
  291. data/doc/ex/segment.rb +0 -11
  292. data/doc/ex/sepiatone.rb +0 -7
  293. data/doc/ex/shade.rb +0 -11
  294. data/doc/ex/shadow.rb +0 -30
  295. data/doc/ex/shave.rb +0 -15
  296. data/doc/ex/shear.rb +0 -10
  297. data/doc/ex/sketch.rb +0 -17
  298. data/doc/ex/skewx.rb +0 -51
  299. data/doc/ex/skewy.rb +0 -47
  300. data/doc/ex/smile.rb +0 -126
  301. data/doc/ex/solarize.rb +0 -11
  302. data/doc/ex/sparse_color.rb +0 -55
  303. data/doc/ex/splice.rb +0 -8
  304. data/doc/ex/spread.rb +0 -11
  305. data/doc/ex/stegano.rb +0 -54
  306. data/doc/ex/stroke_dasharray.rb +0 -42
  307. data/doc/ex/stroke_fill.rb +0 -10
  308. data/doc/ex/stroke_linecap.rb +0 -44
  309. data/doc/ex/stroke_linejoin.rb +0 -48
  310. data/doc/ex/stroke_width.rb +0 -49
  311. data/doc/ex/swirl.rb +0 -17
  312. data/doc/ex/text.rb +0 -37
  313. data/doc/ex/text01.rb +0 -16
  314. data/doc/ex/text_align.rb +0 -36
  315. data/doc/ex/text_antialias.rb +0 -37
  316. data/doc/ex/text_styles.rb +0 -19
  317. data/doc/ex/text_undercolor.rb +0 -28
  318. data/doc/ex/texture_fill_to_border.rb +0 -34
  319. data/doc/ex/texture_floodfill.rb +0 -32
  320. data/doc/ex/texturefill.rb +0 -24
  321. data/doc/ex/threshold.rb +0 -13
  322. data/doc/ex/to_blob.rb +0 -13
  323. data/doc/ex/translate.rb +0 -39
  324. data/doc/ex/transparent.rb +0 -38
  325. data/doc/ex/transpose.rb +0 -9
  326. data/doc/ex/transverse.rb +0 -9
  327. data/doc/ex/tref01.rb +0 -24
  328. data/doc/ex/triangle01.rb +0 -15
  329. data/doc/ex/trim.rb +0 -23
  330. data/doc/ex/tspan01.rb +0 -17
  331. data/doc/ex/tspan02.rb +0 -17
  332. data/doc/ex/tspan03.rb +0 -19
  333. data/doc/ex/unsharp_mask.rb +0 -28
  334. data/doc/ex/viewex.rb +0 -33
  335. data/doc/ex/vignette.rb +0 -12
  336. data/doc/ex/watermark.rb +0 -27
  337. data/doc/ex/wave.rb +0 -9
  338. data/doc/ex/wet_floor.rb +0 -58
  339. data/doc/ex/writing_mode01.rb +0 -26
  340. data/doc/ex/writing_mode02.rb +0 -26
  341. data/doc/ilist.html +0 -2056
  342. data/doc/image1.html +0 -4680
  343. data/doc/image2.html +0 -3665
  344. data/doc/image3.html +0 -4522
  345. data/doc/imageattrs.html +0 -1638
  346. data/doc/imusage.html +0 -514
  347. data/doc/index.html +0 -416
  348. data/doc/info.html +0 -1499
  349. data/doc/magick.html +0 -570
  350. data/doc/optequiv.html +0 -2435
  351. data/doc/rvg.html +0 -975
  352. data/doc/rvgclip.html +0 -248
  353. data/doc/rvggroup.html +0 -305
  354. data/doc/rvgimage.html +0 -289
  355. data/doc/rvgpattern.html +0 -475
  356. data/doc/rvgshape.html +0 -406
  357. data/doc/rvgstyle.html +0 -270
  358. data/doc/rvgtext.html +0 -465
  359. data/doc/rvgtspan.html +0 -238
  360. data/doc/rvgtut.html +0 -530
  361. data/doc/rvguse.html +0 -145
  362. data/doc/rvgxform.html +0 -294
  363. data/doc/scripts/doc.js +0 -22
  364. data/doc/scripts/stripeTables.js +0 -23
  365. data/doc/struct.html +0 -1339
  366. data/doc/usage.html +0 -1621
  367. data/examples/constitute.rb +0 -7
  368. data/examples/crop_with_gravity.rb +0 -43
  369. data/examples/demo.rb +0 -323
  370. data/examples/describe.rb +0 -41
  371. data/examples/find_similar_region.rb +0 -34
  372. data/examples/histogram.rb +0 -312
  373. data/examples/identify.rb +0 -174
  374. data/examples/image_opacity.rb +0 -28
  375. data/examples/import_export.rb +0 -31
  376. data/examples/pattern_fill.rb +0 -37
  377. data/examples/rotating_text.rb +0 -45
  378. data/examples/spinner.rb +0 -49
  379. data/examples/thumbnail.rb +0 -64
  380. data/examples/vignette.rb +0 -78
  381. data/spec/rmagick/ImageList1_spec.rb +0 -24
  382. data/spec/rmagick/draw_spec.rb +0 -155
  383. data/spec/rmagick/image/blue_shift_spec.rb +0 -14
  384. data/spec/rmagick/image/channel_entropy_spec.rb +0 -9
  385. data/spec/rmagick/image/composite_spec.rb +0 -72
  386. data/spec/rmagick/image/constitute_spec.rb +0 -13
  387. data/spec/rmagick/image/dispatch_spec.rb +0 -16
  388. data/spec/rmagick/image/from_blob_spec.rb +0 -12
  389. data/spec/rmagick/image/ping_spec.rb +0 -12
  390. data/spec/rmagick/image/properties_spec.rb +0 -27
  391. data/spec/rmagick/image/read_spec.rb +0 -28
  392. data/spec/spec_helper.rb +0 -10
  393. data/spec/support/issue_200/app.rb +0 -8
  394. data/test/Draw.rb +0 -351
  395. data/test/Enum.rb +0 -228
  396. data/test/Fill.rb +0 -93
  397. data/test/Image1.rb +0 -606
  398. data/test/Image2.rb +0 -1408
  399. data/test/Image3.rb +0 -1086
  400. data/test/ImageList1.rb +0 -858
  401. data/test/ImageList2.rb +0 -375
  402. data/test/Image_attributes.rb +0 -635
  403. data/test/Import_Export.rb +0 -111
  404. data/test/Info.rb +0 -436
  405. data/test/KernelInfo.rb +0 -59
  406. data/test/Magick.rb +0 -311
  407. data/test/Pixel.rb +0 -259
  408. data/test/PolaroidOptions.rb +0 -23
  409. data/test/Preview.rb +0 -26
  410. data/test/Struct.rb +0 -45
  411. data/test/appearance/Montage.rb +0 -26
  412. data/test/appearance/appearance_assertion.rb +0 -13
  413. data/test/appearance/expected/montage_border_color.jpg +0 -0
  414. data/test/cmyk.icm +0 -0
  415. data/test/lib/internal/Draw.rb +0 -811
  416. data/test/lib/internal/Geometry.rb +0 -98
  417. data/test/lib/internal/Magick.rb +0 -40
  418. data/test/srgb.icm +0 -0
  419. data/test/test_all_basic.rb +0 -49
  420. data/test/tmpnam_test.rb +0 -50
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ee811873773369d58f0dc4111203635ef513ef4f71563e9c89b18370c11c4c15
4
- data.tar.gz: 2b8c09fc168e2709803328a71d8465e4ea64f5b4ce01370021cd7ba63b4dbed8
3
+ metadata.gz: cb6efb1cd1084ddfa7fcf81fa760b652ff8c2cf02609da08744931b71bfa5af9
4
+ data.tar.gz: 66a715d679ea9114f0525cdd5ee60643b8fb84f9f96548a1d82a27e8fc9d0821
5
5
  SHA512:
6
- metadata.gz: 304f95885436b898fb2dbb609123583c17fae2a1ae78442fa0e5f6c4673073aff0f445ab5b31e699db56a6e9631ce4109cd16dde93ef974bb4b216aadbbcbc7c
7
- data.tar.gz: 9e5b5ab7b36cb5f26e3c878b01b3694ddaa10829dfca6049e314e961f8514a9f6495ce2f3ea6a6e78d78871b08c6a6171c0b77f72994547982cb5efb481b7a06
6
+ metadata.gz: '057860ced79ea3612eaae3df6840c57833da74b4eb25ddca45da7d40bf6577cbc6288b1a807dc9c9f8aeb6b0a652f3fe13007166fac2094ec9e75b59e170adf4'
7
+ data.tar.gz: df562bbda78354a5b595c2494ce6971b6a51c068df580cebd22c9accfb99c73f12ecaf55ab8c9b4f7f25a2cd05530a9b53af77fc29791ee9825bd6ef6b82320a
@@ -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.12-85"
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-7"
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
@@ -12,3 +12,6 @@ tab_width = 2
12
12
 
13
13
  [{*.{rb,yml,sh,md}]
14
14
  indent_size = 2
15
+
16
+ [*.c]
17
+ indent_size = 4
@@ -0,0 +1,17 @@
1
+ ### Description
2
+ <!-- A description of the bug or feature -->
3
+
4
+ ### Steps to Reproduce
5
+ <!-- List of steps, sample code, failing test or link to a project that reproduces the behavior.
6
+ Make sure you place a stack trace inside a code (```) block to avoid linking unrelated issues -->
7
+
8
+ ### System Configuration
9
+ <!-- Tell us about the environment where you are experiencing the bug -->
10
+
11
+ - ImageMagick version:
12
+ - RMagick version:
13
+ - Ruby version:
14
+ - Environment (Operating system, version and so on):
15
+ - Additional information:
16
+
17
+ <!-- Thanks for reporting the issue to RMagick! -->
@@ -0,0 +1,138 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ pull_request:
8
+ workflow_dispatch:
9
+
10
+ permissions:
11
+ contents: read
12
+
13
+ jobs:
14
+ lint:
15
+ runs-on: ubuntu-latest
16
+ timeout-minutes: 20
17
+ steps:
18
+ - uses: actions/checkout@v3
19
+ - name: Set up Ruby 2.3
20
+ uses: ruby/setup-ruby@master
21
+ with:
22
+ ruby-version: '2.3'
23
+ - name: Build and test with Rake
24
+ run: |
25
+ bundle install --path=vendor/bundle --jobs 4 --retry 3
26
+ STYLE_CHECKS=true bundle exec rubocop
27
+
28
+ test-linux:
29
+ runs-on: ubuntu-latest
30
+ timeout-minutes: 20
31
+ strategy:
32
+ matrix:
33
+ ruby-version: ['2.3', '2.4', '2.5', '2.6', '2.7', '3.0', '3.1', '3.2']
34
+ imagemagick-version:
35
+ - { full: 6.7.7-10, major-minor: '6.7' }
36
+ - { full: 6.8.9-10, major-minor: '6.8' }
37
+ - { full: 6.9.12-85, major-minor: '6.9' }
38
+ - { full: 7.0.11-14, major-minor: '7.0' }
39
+ - { full: 7.1.1-7, major-minor: '7.1' }
40
+
41
+ name: Linux, Ruby ${{ matrix.ruby-version }}, IM ${{ matrix.imagemagick-version.major-minor }}
42
+ steps:
43
+ - uses: actions/checkout@v3
44
+ - name: Cache ImageMagick built objects
45
+ uses: actions/cache@v3
46
+ with:
47
+ path: ./build-ImageMagick
48
+ key: v1-${{ runner.os }}-imagemagick-${{ matrix.imagemagick-version.full }}
49
+ restore-keys: |
50
+ v1-${{ runner.os }}-imagemagick-${{ matrix.imagemagick-version.full }}
51
+ - name: Set up Ruby ${{ matrix.ruby-version }}
52
+ uses: ruby/setup-ruby@master
53
+ with:
54
+ ruby-version: ${{ matrix.ruby-version }}
55
+ - name: Update/Install packages
56
+ run: |
57
+ export IMAGEMAGICK_VERSION=${{ matrix.imagemagick-version.full }}
58
+ ./before_install_linux.sh
59
+ - name: Build and test with Rake
60
+ run: |
61
+ bundle install --path=vendor/bundle --jobs 4 --retry 3
62
+ bundle exec rake
63
+
64
+ test-macos:
65
+ runs-on: macos-latest
66
+ timeout-minutes: 20
67
+ strategy:
68
+ matrix:
69
+ ruby-version: ['2.6', '2.7', '3.0', '3.1', '3.2']
70
+ imagemagick-version:
71
+ - { full: 6.9.12-85, major-minor: '6.9' }
72
+ - { full: 7.0.11-14, major-minor: '7.0' }
73
+ - { full: 7.1.1-7, major-minor: '7.1' }
74
+
75
+ name: macOS, Ruby ${{ matrix.ruby-version }}, IM ${{ matrix.imagemagick-version.major-minor }}
76
+ steps:
77
+ - uses: actions/checkout@v3
78
+ - name: Cache ImageMagick built objects
79
+ uses: actions/cache@v3
80
+ with:
81
+ path: ./build-ImageMagick
82
+ key: v1-${{ runner.os }}-imagemagick-${{ matrix.imagemagick-version.full }}
83
+ restore-keys: |
84
+ v1-${{ runner.os }}-imagemagick-${{ matrix.imagemagick-version.full }}
85
+ - name: Set up Ruby ${{ matrix.ruby-version }}
86
+ uses: ruby/setup-ruby@master
87
+ with:
88
+ ruby-version: ${{ matrix.ruby-version }}
89
+ - name: Update/Install packages
90
+ run: |
91
+ IMAGEMAGICK_VERSION=${{ matrix.imagemagick-version.full }} ./before_install_osx.sh
92
+ - name: Build and test with Rake
93
+ run: |
94
+ bundle install --path=vendor/bundle --jobs 4 --retry 3
95
+ bundle exec rake
96
+
97
+ test-windows:
98
+ runs-on: windows-latest
99
+ timeout-minutes: 20
100
+ strategy:
101
+ matrix:
102
+ ruby-version: ['3.2']
103
+ imagemagick-version:
104
+ - { full: 6.9.12-85, major-minor: '6.9' }
105
+ - { full: 7.1.1-7, major-minor: '7.1' }
106
+ env:
107
+ bundled_im_dir: C:\Program Files\ImageMagick-7.1.1-Q16-HDRI
108
+ install_im_dir: D:\ImageMagick
109
+
110
+ name: MSWin, Ruby ${{ matrix.ruby-version }}, IM ${{ matrix.imagemagick-version.major-minor }}
111
+ steps:
112
+ - uses: actions/checkout@v3
113
+ - name: Setup environment variable
114
+ # https://stackoverflow.com/questions/60169752/how-to-update-the-path-in-a-github-action-workflow-file-for-a-windows-latest-hos
115
+ run: |
116
+ Add-Content $env:GITHUB_PATH ${{ env.install_im_dir }}
117
+ - name: Uninstall bundled ImageMagick
118
+ # Bundled ImageMagick does not have C/C++ library and dll which required by rmagick.
119
+ run: |
120
+ Start-Process -FilePath "${{ env.bundled_im_dir }}\unins000.exe" -ArgumentList "/VERYSILENT /NORESTART"
121
+ - name: Set up Ruby ${{ matrix.ruby-version }}
122
+ uses: ruby/setup-ruby@master
123
+ with:
124
+ ruby-version: ${{ matrix.ruby-version }}
125
+ - name: Install ghostscript
126
+ run: |
127
+ choco install ghostscript
128
+ - name: Install ImageMagick
129
+ # https://github.com/rmagick/ImageMagick-binaries
130
+ run: |
131
+ $imagemagick_version = "${{ matrix.imagemagick-version.full }}"
132
+ $installer_name = "ImageMagick-$($imagemagick_version)-Q16-x64-dll.exe"
133
+ $url = "https://github.com/rmagick/ImageMagick-binaries/raw/main/$($installer_name)"
134
+ Invoke-WebRequest -Uri $url -OutFile $installer_name
135
+ Start-Process -FilePath $installer_name -ArgumentList "/DIR=${{ env.install_im_dir }} /VERYSILENT /NORESTART /TASKS=install_Devel"
136
+ - name: Build and test with Rake
137
+ run: |
138
+ cmd.exe /D /S /C "bundle install --path=vendor/bundle --retry 3 & bundle exec rake"
data/.gitignore CHANGED
@@ -19,5 +19,9 @@ tmp
19
19
  *.so
20
20
  *.o
21
21
  *.a
22
- mkmf.log
22
+ *.log
23
+ Makefile
24
+ extconf.h
23
25
  build-ImageMagick/
26
+ doc/node_modules/
27
+ doc/package-lock.json
data/.rspec CHANGED
@@ -1 +1,2 @@
1
1
  --require spec_helper
2
+ --force-color
data/.rubocop.yml CHANGED
@@ -11,3 +11,27 @@ AllCops:
11
11
  Exclude:
12
12
  - 'vendor/bundle/**/*'
13
13
  - '**/*\.spec'
14
+
15
+ ################################################################################
16
+ #
17
+ # Rules that depart from rubocop defaults
18
+ #
19
+ ################################################################################
20
+
21
+ Layout/MultilineAssignmentLayout: { EnforcedStyle: same_line }
22
+ RSpec/FilePath: { CustomTransform: { Magick: rmagick } }
23
+ Style/FormatString: { EnforcedStyle: sprintf }
24
+ Style/GuardClause: { MinBodyLength: 3 }
25
+ # we may not need this after finishing RSpec conversion
26
+ # seems like `rubocop-rspec` already excludes the `spec/` directory
27
+ Style/MethodCalledOnDoEndBlock: { Exclude: [test/**/*.rb, spec/**/*.rb] }
28
+ Style/NumericLiterals: { MinDigits: 6 }
29
+
30
+ ################################################################################
31
+ #
32
+ # Rules we don't want to enable
33
+ #
34
+ ################################################################################
35
+
36
+ RSpec/AlignLeftLetBrace: { Enabled: false }
37
+ RSpec/AlignRightLetBrace: { Enabled: false }