summaryrefslogtreecommitdiff
path: root/media-gfx/imagemagick
diff options
context:
space:
mode:
Diffstat (limited to 'media-gfx/imagemagick')
-rw-r--r--media-gfx/imagemagick/Manifest12
-rw-r--r--media-gfx/imagemagick/imagemagick-6.9.10.84.ebuild (renamed from media-gfx/imagemagick/imagemagick-6.9.10.78.ebuild)5
-rw-r--r--media-gfx/imagemagick/imagemagick-6.9.10.86.ebuild250
-rw-r--r--media-gfx/imagemagick/imagemagick-7.0.9.14.ebuild (renamed from media-gfx/imagemagick/imagemagick-7.0.9.8.ebuild)5
-rw-r--r--media-gfx/imagemagick/imagemagick-7.0.9.16.ebuild262
5 files changed, 524 insertions, 10 deletions
diff --git a/media-gfx/imagemagick/Manifest b/media-gfx/imagemagick/Manifest
index 557769e18020..aaf4b97be67f 100644
--- a/media-gfx/imagemagick/Manifest
+++ b/media-gfx/imagemagick/Manifest
@@ -1,8 +1,12 @@
AUX policy-hardening.snippet 442 BLAKE2B d79fdbddab418fc9d8391e78992e3dda844e096052115113ff6f759c1a54541bcd7d7793547bc7140776659c98379a9e9f004aa46f757300a33f445d396fbf14 SHA512 e9e723c40d5b8c52bbc2f2b9a3ad7c7e2aee493bc37b6c3940e8486b92a1c6659e47b1e12ee2fb11c8a8b6ee48a7fc10354617ae12c36181a58e9e73b239368d
AUX policy.test.xml 746 BLAKE2B 6bfa073606469b81cf517d9b069e48794cbda9272d12c3abb8ae3456aaf30cd1923510baddb7d813aa8ccde84e161de0b29314cef7b1a37730c7ad5236d1f5dc SHA512 22f66004324e3777393446a3df738ecd2aa405df088d39137008514cd86b436765b48ccd4355d670a42061ce4e5a7b2fd8e4be5852cd914f62ff0250a4a7ae57
-DIST imagemagick-6.9.10.78.tar.gz 13522518 BLAKE2B 1eab0f7bc6bbecc44b3f25a752ae2b6ad8f026fe700c78d0b914aa23e5737485c8c41785859035002e1dbd16e7d19af823ea71425cb56f732fbee08419212d7d SHA512 8ab6c91afcf2b8c1bd0a4f130d35abae914599ddf7e0c85d6bf57ace8822cdf1cc57929e047350b06532546827856420a484fc9754ae403684db9df04d0f66a9
-DIST imagemagick-7.0.9.8.tar.gz 13678831 BLAKE2B 3e5189fa244577fdc7d9e674ef0b2385a67dbfc4a0c80fac66a7224b31805925c97fe1955b8386e6d622dd64ffed1cc888657ba5f885d66fb0e8df32703b4ce8 SHA512 3797978e6da49bd6129a437110d9b2b15e1963178c5c62fd228e68295645b469f5cf7d3bb0974ce74a320094973137adfb7409f47248383fe63abc4a49a90ddf
-EBUILD imagemagick-6.9.10.78.ebuild 7016 BLAKE2B 1fc57792a076b612b0849bb540f17f19c194e03c1f741a8e4bc56c562acea94364caf1ed0828457839169f179ef9e6ab7166cbb90a69bfc3ff19186c6c691f90 SHA512 22bc07e091f90331801c24a3d734669ad30afcb178084b7be7677522d85b165bcb0b22f725abdba3baddeebda1970744d3a98213f7d879f5baba9149f22f152f
-EBUILD imagemagick-7.0.9.8.ebuild 7291 BLAKE2B fb478ef6f2c8d871b1182f52f0afbce521787d2ea212d95002fc682667d3450c76536987c4293963de727fefef15169f6ea9f92fe31282eeeb83ea7b237721ce SHA512 a58ba9780324df8af23db6dea87122a6820afc8f2b9352000b54fdd24d0c2820a366f1db4b396b61cf0cd4c7187fcf660bbb60ee7768edfbfeb817ee5c1fd898
+DIST ImageMagick-6.9.10-84.tar.xz 9072724 BLAKE2B 489d5f9e659f3bd7ad32f58780a5f2e2b95772801b8674f4591120d7643627717572c0b01d011fc5cf7b5592723467e331ca02a0fcfb54d41be482a952b5a7f7 SHA512 bb574cd322a57a79e90021e4e5868792d0005b268a282ecf6c6a0e58c79dbc20e422e6a491c2adf1e50841570a69405f8771245cc2f545f5e7f2150cdf84faae
+DIST ImageMagick-6.9.10-86.tar.xz 9064960 BLAKE2B 02adf3a7cf942f01fb5f3fb72cda4f407360fa223768f6988220df5be5210e19973c7ac2243df9b295d5a3e1c43515088b157502204c14e665611764c575e62c SHA512 6d3362a83168ecc5b710bc020db2fa30495d442ffff72a77a99fb8be56225283660cd00ac2d1f75c5d19b44c64b212221aadda90fc0a0d76cc2e1e32bca62ffa
+DIST ImageMagick-7.0.9-14.tar.xz 9485404 BLAKE2B be449bc258841eafc83571891c545ba3cecdf6ec8019e665c680ca7dcfb9639db0cf9aee1e53c63ddad03c57549b523e81b926e2613b559baafc833606169a8c SHA512 eaeac3820943c5ed941a5adfa1a5549864d9ac748523eea7b352c8b51e4eb1189586ed0c69e21b1ce2431203ff43973817d45b293f9e85ecbdf35569ef838c3f
+DIST ImageMagick-7.0.9-16.tar.xz 9480896 BLAKE2B 182217c8c4a9425ca69722785da14bb8575ba50aaf9909fc39626ec34f54ff33b7cb5e627640005a00c1e94282b68a041a937e658eb6b06768149fc72f3807c3 SHA512 8f0c20cb863cfe0df30ef5140180273461d7bdb501670d0527bb6b17ac1adff3d500ba3c13e920c81935b4808cac11282808dd3cc81d1edac8429419fa34de26
+EBUILD imagemagick-6.9.10.84.ebuild 6922 BLAKE2B 408d4b69d369e8ded4bf1f4c5bf545d57e3ae01135c26f4e717094e2d8268d9bc488bcd6d09e44e3dc57d39364018653c2ec5697c9f45ab6ff3af6e8858e5642 SHA512 9d8742a84949c96681a04e0f1086b1907f5bad82baf1e81e0669a84ddc4347b8b09745f422ec0d72b476d2209aaaa7befa5238482e83b19bacd2aba26316a9f7
+EBUILD imagemagick-6.9.10.86.ebuild 6931 BLAKE2B d3745b951ff6b65eb5e50c08433c05de1e145f58fb85e2be366f7ae3d7b84bf28a7797ece60dcc7e165aa389c1fbf9d656874203ea97f32842385a6ad3eb44f7 SHA512 fd0cc166172dea6d3ba8d8787385c8a933c4ce83b9f2ccd89015cb3e72782f7f5f8e20f7e2838711d7ad0c6931b76da1a5025ca4e7664435f16579e2237dca5b
+EBUILD imagemagick-7.0.9.14.ebuild 7197 BLAKE2B 7e98b4f7ad9e4f9ff669147b83fe61fc9e6d3824ff1a3a3e4f19847d7b7991ae35007e89868d81f7b016c64f0ac16f25cdc2a407d99dce7086509c46d2025b78 SHA512 ff11c408b0075d936aaddbb7016b7305608ffbda551a8583c7a4fc96eb0f125ff8dcbd8637fab2885716a71c9fd0780d0cd5b23036cc0092cb9a8ec16d4554ef
+EBUILD imagemagick-7.0.9.16.ebuild 7207 BLAKE2B 004df3bd1f94e9e8c082bc82bbdf949d1d981c8517c5f5033f0ed55c3e9d472565ed8a088292b389325922925dc57733c7a39e14d4d987bb20f50ede87789be4 SHA512 e03e1322c70b842799ce7e90984d940007cf75895ba6d35bd7cb32b39599bebf83feefa67704225d845c82c7f789cc1f9cc7a4269c7a49c48b8336aa350e4c58
EBUILD imagemagick-9999.ebuild 7207 BLAKE2B 4fc6e4d61f5e851d55546614830dbc3d9a23003033f55ac521bbe990d845aa2b7b7623c66da431f896df16ee71d6539bac7fdf0204c61f00d010c9013b92fef5 SHA512 97ebbef19227007aa32140de833e25d49c9a8f648fda30a9a0abe8073329b0df5a79a74968d5056b3d342e87d435072d64d360ec4270aca53491938c4cfb7f42
MISC metadata.xml 1111 BLAKE2B 3592f2d81f67d91239152d723c736437a5e8056f8dba1fc5c97e2ead08efd4e913400b441eb6d6b90f26cccf3b89f115c18a5551bc070d1fd81e68dd218493c9 SHA512 33bd68bc4f88cd6029528b0feab9cc9fde0d60475ba5fad8c4f92ff6d373666628e6525d54268735e99182abd2658aa32c7c72ff22106c65f81ed8af5e4f7ea2
diff --git a/media-gfx/imagemagick/imagemagick-6.9.10.78.ebuild b/media-gfx/imagemagick/imagemagick-6.9.10.84.ebuild
index 99cd54e5c91e..268eb3094776 100644
--- a/media-gfx/imagemagick/imagemagick-6.9.10.78.ebuild
+++ b/media-gfx/imagemagick/imagemagick-6.9.10.84.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
@@ -10,8 +10,7 @@ MY_P="ImageMagick-${MY_PV}"
DESCRIPTION="A collection of tools and libraries for many image formats"
HOMEPAGE="https://www.imagemagick.org/"
-#SRC_URI="mirror://imagemagick/${MY_P}.tar.xz"
-SRC_URI="https://github.com/ImageMagick/ImageMagick6/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
+SRC_URI="mirror://imagemagick/${MY_P}.tar.xz"
LICENSE="imagemagick"
SLOT="0/${PV}"
diff --git a/media-gfx/imagemagick/imagemagick-6.9.10.86.ebuild b/media-gfx/imagemagick/imagemagick-6.9.10.86.ebuild
new file mode 100644
index 000000000000..b84069a077d5
--- /dev/null
+++ b/media-gfx/imagemagick/imagemagick-6.9.10.86.ebuild
@@ -0,0 +1,250 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+inherit eapi7-ver eutils flag-o-matic libtool perl-functions toolchain-funcs multilib
+
+MY_PV="$(ver_rs 3 '-')"
+MY_P="ImageMagick-${MY_PV}"
+
+DESCRIPTION="A collection of tools and libraries for many image formats"
+HOMEPAGE="https://www.imagemagick.org/"
+SRC_URI="mirror://imagemagick/${MY_P}.tar.xz"
+
+LICENSE="imagemagick"
+SLOT="0/${PV}"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="bzip2 corefonts cxx djvu fftw fontconfig fpx graphviz hdri heif jbig jpeg jpeg2k lcms lqr lzma opencl openexr openmp pango perl png postscript q32 q8 raw static-libs svg test tiff truetype webp wmf X xml zlib"
+
+REQUIRED_USE="corefonts? ( truetype )
+ test? ( corefonts )"
+
+RESTRICT="perl? ( userpriv )
+ !test? ( test )"
+
+RDEPEND="
+ dev-libs/libltdl:0
+ bzip2? ( app-arch/bzip2 )
+ corefonts? ( media-fonts/corefonts )
+ djvu? ( app-text/djvu )
+ fftw? ( sci-libs/fftw:3.0 )
+ fontconfig? ( media-libs/fontconfig )
+ fpx? ( >=media-libs/libfpx-1.3.0-r1 )
+ graphviz? ( media-gfx/graphviz )
+ heif? ( media-libs/libheif:= )
+ jbig? ( >=media-libs/jbigkit-2:= )
+ jpeg? ( virtual/jpeg:0 )
+ jpeg2k? ( >=media-libs/openjpeg-2.1.0:2 )
+ lcms? ( media-libs/lcms:2= )
+ lqr? ( media-libs/liblqr )
+ opencl? ( virtual/opencl )
+ openexr? ( media-libs/openexr:0= )
+ pango? ( x11-libs/pango )
+ perl? ( >=dev-lang/perl-5.8.8:0= )
+ png? ( media-libs/libpng:0= )
+ postscript? ( app-text/ghostscript-gpl )
+ raw? ( media-libs/libraw:= )
+ svg? ( gnome-base/librsvg )
+ tiff? ( media-libs/tiff:0= )
+ truetype? (
+ media-fonts/urw-fonts
+ >=media-libs/freetype-2
+ )
+ webp? ( media-libs/libwebp:0= )
+ wmf? ( media-libs/libwmf )
+ X? (
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libXext
+ x11-libs/libXt
+ )
+ xml? ( dev-libs/libxml2:= )
+ lzma? ( app-arch/xz-utils )
+ zlib? ( sys-libs/zlib:= )"
+DEPEND="${RDEPEND}
+ !media-gfx/graphicsmagick[imagemagick]
+ virtual/pkgconfig
+ X? ( x11-base/xorg-proto )"
+
+#S="${WORKDIR}/${MY_P}"
+S="${WORKDIR}/ImageMagick6-${MY_PV}"
+
+src_prepare() {
+ default
+
+ # Apply hardening #664236
+ cp "${FILESDIR}"/policy-hardening.snippet "${S}" || die
+ sed -i -e '/^<policymap>$/ {
+ r policy-hardening.snippet
+ d
+ }' \
+ config/policy.xml || \
+ die "Failed to apply hardening of policy.xml"
+ einfo "policy.xml hardened"
+
+ elibtoolize # for Darwin modules
+
+ # For testsuite, see https://bugs.gentoo.org/show_bug.cgi?id=500580#c3
+ local mesa_cards ati_cards nvidia_cards render_cards
+ shopt -s nullglob
+ ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
+ if test -n "${ati_cards}"; then
+ addpredict "${ati_cards}"
+ fi
+ mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
+ if test -n "${mesa_cards}"; then
+ addpredict "${mesa_cards}"
+ fi
+ nvidia_cards=$(echo -n /dev/nvidia** | sed 's/ /:/g')
+ if test -n "${nvidia_cards}"; then
+ addpredict "${nvidia_cards}"
+ fi
+ render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g')
+ if test -n "${render_cards}"; then
+ addpredict "${render_cards}"
+ fi
+ shopt -u nullglob
+ addpredict /dev/nvidiactl
+}
+
+src_configure() {
+ local depth=16
+ use q8 && depth=8
+ use q32 && depth=32
+
+ local openmp=disable
+ use openmp && { tc-has-openmp && openmp=enable; }
+
+ use perl && perl_check_env
+
+ [[ ${CHOST} == *-solaris* ]] && append-ldflags -lnsl -lsocket
+
+ local myeconfargs=(
+ $(use_enable static-libs static)
+ $(use_enable hdri)
+ $(use_enable opencl)
+ --with-threads
+ --with-modules
+ --with-quantum-depth=${depth}
+ $(use_with cxx magick-plus-plus)
+ $(use_with perl)
+ --with-perl-options='INSTALLDIRS=vendor'
+ --with-gs-font-dir="${EPREFIX}"/usr/share/fonts/urw-fonts
+ $(use_with bzip2 bzlib)
+ $(use_with X x)
+ $(use_with zlib)
+ --without-autotrace
+ $(use_with postscript dps)
+ $(use_with djvu)
+ --with-dejavu-font-dir="${EPREFIX}"/usr/share/fonts/dejavu
+ $(use_with fftw)
+ $(use_with fpx)
+ $(use_with fontconfig)
+ $(use_with truetype freetype)
+ $(use_with postscript gslib)
+ $(use_with graphviz gvc)
+ $(use_with heif heic)
+ $(use_with jbig)
+ $(use_with jpeg)
+ $(use_with jpeg2k openjp2)
+ $(use_with lcms)
+ $(use_with lqr)
+ $(use_with lzma)
+ $(use_with openexr)
+ $(use_with pango)
+ $(use_with png)
+ $(use_with raw)
+ $(use_with svg rsvg)
+ $(use_with tiff)
+ $(use_with webp)
+ $(use_with corefonts windows-font-dir "${EPREFIX}"/usr/share/fonts/corefonts)
+ $(use_with wmf)
+ $(use_with xml)
+ --${openmp}-openmp
+ --with-gcc-arch=no-automagic
+ )
+ CONFIG_SHELL=$(type -P bash) econf "${myeconfargs[@]}"
+}
+
+src_test() {
+ # Install default (unrestricted) policy in $HOME for test suite #664238
+ local _im_local_config_home="${HOME}/.config/ImageMagick"
+ mkdir -p "${_im_local_config_home}" || \
+ die "Failed to create IM config dir in '${_im_local_config_home}'"
+ cp "${FILESDIR}"/policy.test.xml "${_im_local_config_home}/policy.xml" || \
+ die "Failed to install default blank policy.xml in '${_im_local_config_home}'"
+
+ local im_command= IM_COMMANDS=()
+ IM_COMMANDS+=( "identify -version | grep -q -- \"${MY_PV}\"" ) # Verify that we are using version we just built
+ IM_COMMANDS+=( "identify -list policy" ) # Verify that policy.xml is used
+ IM_COMMANDS+=( "emake check" ) # Run tests
+
+ for im_command in "${IM_COMMANDS[@]}"; do
+ eval "${S}"/magick.sh \
+ ${im_command} || \
+ die "Failed to run \"${im_command}\""
+ done
+}
+
+src_install() {
+ # Ensure documentation installation files and paths with each release!
+ emake \
+ DESTDIR="${D}" \
+ DOCUMENTATION_PATH="${EPREFIX}"/usr/share/doc/${PF}/html \
+ install
+
+ rm -f "${ED%/}"/usr/share/doc/${PF}/html/{ChangeLog,LICENSE,NEWS.txt}
+ dodoc {AUTHORS,README}.txt ChangeLog
+
+ if use perl; then
+ find "${ED}" -type f -name perllocal.pod -exec rm -f {} +
+ find "${ED}" -depth -mindepth 1 -type d -empty -exec rm -rf {} +
+ fi
+
+ find "${ED}" -name '*.la' -exec sed -i -e "/^dependency_libs/s:=.*:='':" {} +
+
+ if use opencl; then
+ cat <<-EOF > "${T}"/99${PN}
+ SANDBOX_PREDICT="/dev/nvidiactl:/dev/nvidia-uvm:/dev/ati/card:/dev/dri/card:/dev/dri/renderD128"
+ EOF
+
+ insinto /etc/sandbox.d
+ doins "${T}"/99${PN} #472766
+ fi
+
+ insinto /usr/share/${PN}
+ doins config/*icm
+}
+
+pkg_postinst() {
+ local _show_policy_xml_notice=
+
+ if [[ -z "${REPLACING_VERSIONS}" ]]; then
+ # This is a new installation
+ _show_policy_xml_notice=yes
+ else
+ local v
+ for v in ${REPLACING_VERSIONS}; do
+ if ! ver_test "${v}" -gt "6.9.10.10-r2"; then
+ # This is an upgrade
+ _show_policy_xml_notice=yes
+
+ # Show this elog only once
+ break
+ fi
+ done
+ fi
+
+ if [[ -n "${_show_policy_xml_notice}" ]]; then
+ elog "For security reasons, a policy.xml file was installed in /etc/ImageMagick-6"
+ elog "which will prevent the usage of the following coders by default:"
+ elog ""
+ elog " - PS"
+ elog " - PS2"
+ elog " - PS3"
+ elog " - EPS"
+ elog " - PDF"
+ elog " - XPS"
+ fi
+}
diff --git a/media-gfx/imagemagick/imagemagick-7.0.9.8.ebuild b/media-gfx/imagemagick/imagemagick-7.0.9.14.ebuild
index 568a44c6e220..1ec6c3383d1c 100644
--- a/media-gfx/imagemagick/imagemagick-7.0.9.8.ebuild
+++ b/media-gfx/imagemagick/imagemagick-7.0.9.14.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
@@ -12,8 +12,7 @@ if [[ ${PV} == "9999" ]] ; then
else
MY_PV="$(ver_rs 3 '-')"
MY_P="ImageMagick-${MY_PV}"
- #SRC_URI="mirror://imagemagick/${MY_P}.tar.xz"
- SRC_URI="https://github.com/ImageMagick/ImageMagick/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
+ SRC_URI="mirror://imagemagick/${MY_P}.tar.xz"
KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
fi
diff --git a/media-gfx/imagemagick/imagemagick-7.0.9.16.ebuild b/media-gfx/imagemagick/imagemagick-7.0.9.16.ebuild
new file mode 100644
index 000000000000..db7f1fb9468a
--- /dev/null
+++ b/media-gfx/imagemagick/imagemagick-7.0.9.16.ebuild
@@ -0,0 +1,262 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit flag-o-matic libtool perl-functions toolchain-funcs multilib
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="https://github.com/ImageMagick/ImageMagick.git"
+ inherit git-r3
+ MY_P="imagemagick-9999"
+else
+ MY_PV="$(ver_rs 3 '-')"
+ MY_P="ImageMagick-${MY_PV}"
+ SRC_URI="mirror://imagemagick/${MY_P}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+fi
+
+DESCRIPTION="A collection of tools and libraries for many image formats"
+HOMEPAGE="https://www.imagemagick.org/"
+
+LICENSE="imagemagick"
+SLOT="0/7.0.9"
+IUSE="bzip2 corefonts cxx djvu fftw fontconfig fpx graphviz hdri heif jbig jpeg jpeg2k lcms lqr lzma opencl openexr openmp pango perl png postscript q32 q8 raw static-libs svg test tiff truetype webp wmf X xml zlib"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="corefonts? ( truetype )
+ test? ( corefonts )"
+
+RESTRICT="!test? ( test )"
+
+BDEPEND="virtual/pkgconfig"
+
+RDEPEND="
+ dev-libs/libltdl:0
+ bzip2? ( app-arch/bzip2 )
+ corefonts? ( media-fonts/corefonts )
+ djvu? ( app-text/djvu )
+ fftw? ( sci-libs/fftw:3.0 )
+ fontconfig? ( media-libs/fontconfig )
+ fpx? ( >=media-libs/libfpx-1.3.0-r1 )
+ graphviz? ( media-gfx/graphviz )
+ heif? ( media-libs/libheif:= )
+ jbig? ( >=media-libs/jbigkit-2:= )
+ jpeg? ( virtual/jpeg:0 )
+ jpeg2k? ( >=media-libs/openjpeg-2.1.0:2 )
+ lcms? ( media-libs/lcms:2= )
+ lqr? ( media-libs/liblqr )
+ opencl? ( virtual/opencl )
+ openexr? ( media-libs/openexr:0= )
+ pango? ( x11-libs/pango )
+ perl? ( >=dev-lang/perl-5.8.8:0= )
+ png? ( media-libs/libpng:0= )
+ postscript? ( app-text/ghostscript-gpl )
+ raw? ( media-libs/libraw:= )
+ svg? ( gnome-base/librsvg )
+ tiff? ( media-libs/tiff:0= )
+ truetype? (
+ media-fonts/urw-fonts
+ >=media-libs/freetype-2
+ )
+ webp? ( media-libs/libwebp:0= )
+ wmf? ( media-libs/libwmf )
+ X? (
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libXext
+ x11-libs/libXt
+ )
+ xml? ( dev-libs/libxml2:= )
+ lzma? ( app-arch/xz-utils )
+ zlib? ( sys-libs/zlib:= )"
+
+DEPEND="${RDEPEND}
+ !media-gfx/graphicsmagick[imagemagick]
+ X? ( x11-base/xorg-proto )"
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ default
+
+ # Apply hardening #664236
+ cp "${FILESDIR}"/policy-hardening.snippet "${S}" || die
+ sed -i -e '/^<policymap>$/ {
+ r policy-hardening.snippet
+ d
+ }' \
+ config/policy.xml || \
+ die "Failed to apply hardening of policy.xml"
+ einfo "policy.xml hardened"
+
+ elibtoolize # for Darwin modules
+
+ # For testsuite, see https://bugs.gentoo.org/show_bug.cgi?id=500580#c3
+ local ati_cards mesa_cards nvidia_cards render_cards
+ shopt -s nullglob
+ ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
+ if test -n "${ati_cards}"; then
+ addpredict "${ati_cards}"
+ fi
+ mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
+ if test -n "${mesa_cards}"; then
+ addpredict "${mesa_cards}"
+ fi
+ nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g')
+ if test -n "${nvidia_cards}"; then
+ addpredict "${nvidia_cards}"
+ fi
+ render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g')
+ if test -n "${render_cards}"; then
+ addpredict "${render_cards}"
+ fi
+ shopt -u nullglob
+ addpredict /dev/nvidiactl
+}
+
+src_configure() {
+ local depth=16
+ use q8 && depth=8
+ use q32 && depth=32
+
+ local openmp=disable
+ use openmp && { tc-has-openmp && openmp=enable; }
+
+ use perl && perl_check_env
+
+ [[ ${CHOST} == *-solaris* ]] && append-ldflags -lnsl -lsocket
+
+ local myeconfargs=(
+ $(use_enable static-libs static)
+ $(use_enable hdri)
+ $(use_enable opencl)
+ --with-threads
+ --with-modules
+ --with-quantum-depth=${depth}
+ $(use_with cxx magick-plus-plus)
+ $(use_with perl)
+ --with-perl-options='INSTALLDIRS=vendor'
+ --with-gs-font-dir="${EPREFIX}"/usr/share/fonts/urw-fonts
+ $(use_with bzip2 bzlib)
+ $(use_with X x)
+ $(use_with zlib)
+ --without-autotrace
+ $(use_with postscript dps)
+ $(use_with djvu)
+ --with-dejavu-font-dir="${EPREFIX}"/usr/share/fonts/dejavu
+ $(use_with fftw)
+ $(use_with fpx)
+ $(use_with fontconfig)
+ $(use_with truetype freetype)
+ $(use_with postscript gslib)
+ $(use_with graphviz gvc)
+ $(use_with heif heic)
+ $(use_with jbig)
+ $(use_with jpeg)
+ $(use_with jpeg2k openjp2)
+ --without-jxl
+ $(use_with lcms)
+ $(use_with lqr)
+ $(use_with lzma)
+ $(use_with openexr)
+ $(use_with pango)
+ $(use_with png)
+ $(use_with raw)
+ $(use_with svg rsvg)
+ $(use_with tiff)
+ $(use_with webp)
+ $(use_with corefonts windows-font-dir "${EPREFIX}"/usr/share/fonts/corefonts)
+ $(use_with wmf)
+ $(use_with xml)
+ --${openmp}-openmp
+ --with-gcc-arch=no-automagic
+ )
+ CONFIG_SHELL=$(type -P bash) econf "${myeconfargs[@]}"
+}
+
+src_test() {
+ # Install default (unrestricted) policy in $HOME for test suite #664238
+ local _im_local_config_home="${HOME}/.config/ImageMagick"
+ mkdir -p "${_im_local_config_home}" || \
+ die "Failed to create IM config dir in '${_im_local_config_home}'"
+ cp "${FILESDIR}"/policy.test.xml "${_im_local_config_home}/policy.xml" || \
+ die "Failed to install default blank policy.xml in '${_im_local_config_home}'"
+
+ local im_command= IM_COMMANDS=()
+ if [[ ${PV} == "9999" ]] ; then
+ IM_COMMANDS+=( "magick -version" ) # Show version we are using -- cannot verify because of live ebuild
+ else
+ IM_COMMANDS+=( "magick -version | grep -q -- \"${MY_PV}\"" ) # Verify that we are using version we just built
+ fi
+ IM_COMMANDS+=( "magick -list policy" ) # Verify that policy.xml is used
+ IM_COMMANDS+=( "emake check" ) # Run tests
+
+ for im_command in "${IM_COMMANDS[@]}"; do
+ eval "${S}"/magick.sh \
+ ${im_command} || \
+ die "Failed to run \"${im_command}\""
+ done
+}
+
+src_install() {
+ # Ensure documentation installation files and paths with each release!
+ emake \
+ DESTDIR="${D}" \
+ DOCUMENTATION_PATH="${EPREFIX}"/usr/share/doc/${PF}/html \
+ install
+
+ rm -f "${ED}"/usr/share/doc/${PF}/html/{ChangeLog,LICENSE,NEWS.txt}
+ dodoc {AUTHORS,README}.txt ChangeLog
+
+ if use perl; then
+ find "${ED}" -type f -name perllocal.pod -exec rm -f {} +
+ find "${ED}" -depth -mindepth 1 -type d -empty -exec rm -rf {} +
+ fi
+
+ find "${ED}" -name '*.la' -exec sed -i -e "/^dependency_libs/s:=.*:='':" {} +
+
+ if use opencl; then
+ cat <<-EOF > "${T}"/99${PN}
+ SANDBOX_PREDICT="/dev/nvidiactl:/dev/nvidia-uvm:/dev/ati/card:/dev/dri/card:/dev/dri/renderD128"
+ EOF
+
+ insinto /etc/sandbox.d
+ doins "${T}"/99${PN} #472766
+ fi
+
+ insinto /usr/share/${PN}
+ doins config/*icm
+}
+
+pkg_postinst() {
+ local _show_policy_xml_notice=
+
+ if [[ -z "${REPLACING_VERSIONS}" ]]; then
+ # This is a new installation
+ _show_policy_xml_notice=yes
+ else
+ local v
+ for v in ${REPLACING_VERSIONS}; do
+ if ! ver_test "${v}" -gt "7.0.8.10-r2"; then
+ # This is an upgrade
+ _show_policy_xml_notice=yes
+
+ # Show this elog only once
+ break
+ fi
+ done
+ fi
+
+ if [[ -n "${_show_policy_xml_notice}" ]]; then
+ elog "For security reasons, a policy.xml file was installed in /etc/ImageMagick-7"
+ elog "which will prevent the usage of the following coders by default:"
+ elog ""
+ elog " - PS"
+ elog " - PS2"
+ elog " - PS3"
+ elog " - EPS"
+ elog " - PDF"
+ elog " - XPS"
+ fi
+}