diff options
author | Hans de Graaff <graaff@gentoo.org> | 2022-04-23 09:19:24 +0200 |
---|---|---|
committer | Hans de Graaff <graaff@gentoo.org> | 2022-04-23 10:00:48 +0200 |
commit | a365584cb6dff560fb2a51151fb51038242ce6fe (patch) | |
tree | 5badae69d8c7420a5826aacf6c54168b4bef8b37 /dev-ruby/rmagick | |
parent | dev-ruby/rkelly-remix: enable ruby31 (diff) | |
download | gentoo-a365584cb6dff560fb2a51151fb51038242ce6fe.tar.gz gentoo-a365584cb6dff560fb2a51151fb51038242ce6fe.tar.bz2 gentoo-a365584cb6dff560fb2a51151fb51038242ce6fe.zip |
dev-ruby/rmagick: add 4.2.5
Signed-off-by: Hans de Graaff <graaff@gentoo.org>
Diffstat (limited to 'dev-ruby/rmagick')
-rw-r--r-- | dev-ruby/rmagick/Manifest | 1 | ||||
-rw-r--r-- | dev-ruby/rmagick/files/rmagick-4.2.5-empty-rpath.patch | 30 | ||||
-rw-r--r-- | dev-ruby/rmagick/rmagick-4.2.5.ebuild | 84 |
3 files changed, 115 insertions, 0 deletions
diff --git a/dev-ruby/rmagick/Manifest b/dev-ruby/rmagick/Manifest index 20709690a851..1ec823e0c499 100644 --- a/dev-ruby/rmagick/Manifest +++ b/dev-ruby/rmagick/Manifest @@ -1,3 +1,4 @@ DIST rmagick-4.2.2.tar.gz 1984143 BLAKE2B 8b8119a0002c48f3a289f72d4bbea6ac86cbecb287b34ddc14ca126fd2d951a34aefa39d68603dc4c9de674d346e47ef9e3b2c8ed96a5bc081373a4184a3ec40 SHA512 0a6a30a631786ea310d2c8add297abd527588be755d021143d6c64fbb597006aefef859c374604f8d26b0f8b1f6cd8a5f1cdd6489772ee713c71681f3980c7fd DIST rmagick-4.2.3.tar.gz 1984440 BLAKE2B 32dea4b8ed7d2385537ac5d67d48e3431e3f398c146b01308cc44ab6b4ad5e851292c22e373307bd2193a299f94a2a2f91b0a7d534825990cc5e1458a9efff7d SHA512 3465afc5c9a93e45511463b1f7eda00fd243f17041cf52b5cb54ceb05ff22cb6e23ea2b15d080ae31bca5daebdd92c28364ada73ea0cf6ea56cb1ec5fe1aa184 DIST rmagick-4.2.4.tar.gz 1984584 BLAKE2B 8f3a737b851e16e16b6b010ea9f76ae14715661630eb877ca4204a71d67603967e5ca4eebdb9d8dea4caa880d049b78f525b6596feea9f866d7396fc550fb410 SHA512 89d5b616b6ce5187ac31356c44abea23aab0054e08ed00d390e3c74d1cdca421bc1ceb6708e5434858f3194756bf14b445d1331216480be5f8c072f65a889198 +DIST rmagick-4.2.5.tar.gz 1984865 BLAKE2B 5a96967da0583ca6d16252fd3e93162cc31b4b125875e16334436c2ec54cb9b739d4a0e0e08547a6218312ce844b3b78cca5f63cf4b81ae3f15abbf9816ceac8 SHA512 55835e43bf583c6c53431849caa54900902d0d63f21c7f70b0bdbcfbe69d16a71d433d1d9b949bf68ed36f6fc7f18ae512f0e96c26ff1c63a68bbc83446b52d8 diff --git a/dev-ruby/rmagick/files/rmagick-4.2.5-empty-rpath.patch b/dev-ruby/rmagick/files/rmagick-4.2.5-empty-rpath.patch new file mode 100644 index 000000000000..13defdd24099 --- /dev/null +++ b/dev-ruby/rmagick/files/rmagick-4.2.5-empty-rpath.patch @@ -0,0 +1,30 @@ +commit fef59858eaba843b876c5b5f253f623ddb4d0f1c +Author: Hans de Graaff <hans@degraaff.org> +Date: Sat Apr 23 08:54:42 2022 +0200 + + Guard against an empty rpath + + Some ImageMagick installations (e.g. on Gentoo Linux when installed + with the package manager) don't return any -L options in pkg-config. + Including an empty rpath is a security risk and should be avoided. + + Fixes #1332 + +diff --git a/ext/RMagick/extconf.rb b/ext/RMagick/extconf.rb +index 7b4ce1ad..3eef6cbd 100644 +--- a/ext/RMagick/extconf.rb ++++ b/ext/RMagick/extconf.rb +@@ -69,11 +69,12 @@ module RMagick + + libdir = `pkg-config --libs-only-L #{$magick_package}`.chomp.sub('-L', '') + ldflags = "#{ENV['LDFLAGS']} " + `pkg-config --libs #{$magick_package}`.chomp ++ rpath = libdir.empty? ? '' : "-Wl,-rpath,#{libdir}" + + # Save flags + $CPPFLAGS = "#{ENV['CPPFLAGS']} " + `pkg-config --cflags #{$magick_package}`.chomp + $LOCAL_LIBS = "#{ENV['LIBS']} " + `pkg-config --libs #{$magick_package}`.chomp +- $LDFLAGS = "#{ldflags} -Wl,-rpath,#{libdir}" ++ $LDFLAGS = "#{ldflags} #{rpath}" + + unless try_link("int main() { }") + # if linker does not recognizes '-Wl,-rpath,somewhere' option, it revert to original option diff --git a/dev-ruby/rmagick/rmagick-4.2.5.ebuild b/dev-ruby/rmagick/rmagick-4.2.5.ebuild new file mode 100644 index 000000000000..9bb20e982c14 --- /dev/null +++ b/dev-ruby/rmagick/rmagick-4.2.5.ebuild @@ -0,0 +1,84 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +USE_RUBY="ruby26 ruby27 ruby30 ruby31" + +RUBY_FAKEGEM_RECIPE_TEST="rspec3" + +RUBY_FAKEGEM_TASK_DOC="" + +RUBY_FAKEGEM_EXTRADOC="CHANGELOG.md README.md" + +RUBY_FAKEGEM_GEMSPEC="rmagick.gemspec" + +RUBY_FAKEGEM_EXTENSIONS=(ext/RMagick/extconf.rb) + +MY_PV=RMagick_${PV//\./-} + +inherit ruby-fakegem + +DESCRIPTION="An interface between Ruby and the ImageMagick(TM) image processing library" +HOMEPAGE="https://github.com/rmagick/rmagick" +SRC_URI="https://github.com/rmagick/rmagick/archive/${MY_PV}.tar.gz -> ${P}.tar.gz" +RUBY_S="rmagick-${MY_PV}" + +LICENSE="Artistic" +SLOT="4" +KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~x86" +IUSE="doc" + +RDEPEND+=" >=media-gfx/imagemagick-6.9.0:=" +DEPEND+=" test? ( >=media-gfx/imagemagick-7.1.0:=[jpeg,lqr,lcms,postscript,tiff,webp] )" + +PATCHES=( "${FILESDIR}/${P}-empty-rpath.patch" ) + +all_ruby_prepare() { + # Avoid unused dependency on rake-compiler. This also avoids an + # extra compile during tests. + sed -i -e '/extensiontask/ s:^:#:' \ + -e '/ExtensionTask/,/end/ s:^:#:' \ + -e '/compile/ s:^:#:' Rakefile || die + sed -i -e '/pry/ s:^:#:' spec/spec_helper.rb || die + sed -i -e 's/git ls-files/find */' ${RUBY_FAKEGEM_GEMSPEC} || die + + # Squelch harmless warning about imagemagick installation. + sed -i -e '/prefix/ s:ImageMagick:ImageMagick-6:' ext/RMagick/extconf.rb || die + + # Reading PDFs is not allowed by the default Gentoo security policy for imagemagick + #sed -i -e '/can read PDF file/askip "Not allowed by Gentoo security policy"' spec/rmagick/image/read_spec.rb || die + + # Update version number hardcoded in tests + sed -i -e 's/"7.0"/"7.1"/' spec/rmagick/image/channel_mean_spec.rb || die + + # Create directory used for a test + mkdir tmp +} + +each_ruby_test() { + # Borrowed from media-gfx/gscan2pdf + # Needed to avoid test failures on e.g. ppc, bug #815856 + # (Unclear why it doesn't manifest on amd64 here at least) + local confdir="${HOME}/.config/ImageMagick" + mkdir -p "${confdir}" || die + cat > "${confdir}/policy.xml" <<-EOT || die + <policymap> + <policy domain="coder" rights="read|write" pattern="PDF" /> + <policy domain="coder" rights="read" pattern="PS" /> + </policymap> + EOT + + RSPEC_VERSION="3" ruby-ng_rspec +} + +all_ruby_install() { + all_fakegem_install + + docinto examples + dodoc examples/* + + if use doc ; then + docinto . + dodoc -r doc + fi +} |