Gentoo Archives: gentoo-commits

From: James Le Cuirot <chewi@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: media-gfx/imagemagick/
Date: Mon, 10 Dec 2018 21:46:22
Message-Id: 1544478354.07861e82152fe53603ef88a7f379526989132e71.chewi@gentoo
1 commit: 07861e82152fe53603ef88a7f379526989132e71
2 Author: James Le Cuirot <chewi <AT> gentoo <DOT> org>
3 AuthorDate: Mon Dec 10 21:45:09 2018 +0000
4 Commit: James Le Cuirot <chewi <AT> gentoo <DOT> org>
5 CommitDate: Mon Dec 10 21:45:54 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=07861e82
7
8 media-gfx/imagemagick: Version bump to 7.0.8.16
9
10 Package-Manager: Portage-2.3.52, Repoman-2.3.12
11 Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>
12
13 media-gfx/imagemagick/Manifest | 1 +
14 media-gfx/imagemagick/imagemagick-7.0.8.16.ebuild | 250 ++++++++++++++++++++++
15 2 files changed, 251 insertions(+)
16
17 diff --git a/media-gfx/imagemagick/Manifest b/media-gfx/imagemagick/Manifest
18 index 2ce3cf1ca04..b28c5474f4f 100644
19 --- a/media-gfx/imagemagick/Manifest
20 +++ b/media-gfx/imagemagick/Manifest
21 @@ -1,2 +1,3 @@
22 DIST ImageMagick-6.9.10-14.tar.xz 8931552 BLAKE2B e064648947f661c41fe86dea6484c0b9e01e54fcd3428b8d6dd39b2b7f93735200af9e4b49f0bdc92b574afbaa53ed044aab2b4b751e087ba126e58cdda1f497 SHA512 1a2c9fb717b0441a18c638991cf5365c42d00c19c0f67bc7cce4bd2cba42bac602e4dba8bd4abc1dbc6609a08b1292403acc3657b61c58ed0609e2bf740d0725
23 DIST ImageMagick-7.0.8-14.tar.xz 8634400 BLAKE2B 1d5ad294ce29f275790c3b6ba76445ffb4aeaa2ff94d91af4d52a00b407dca0e5a4f589ec1a860bf6695952f8e7943d507baee58b885dc5fca3510de1d84c8eb SHA512 0a5f3357f4ce5b245d60b178d81b58c3483effb45b669791d4686514a8c3b0ad04244e31caf0a4a614e73e3e071c17d851992670917ebcf2761c977d77c58dd6
24 +DIST ImageMagick-7.0.8-16.tar.xz 8646148 BLAKE2B 5a9c287164f99886c411cbb1416aaa72bdf527ba3be097a0ea6638cc6b0ae383057acab09974c7d3954a2985ec39e0ce4f6d6a2423ff4bb020d011bd1988c337 SHA512 fbc0b0410702c15352989652c055e4e1a099878e30b859c75322e162eccd384cabb98e14cac14e3fb2c902f25f80a5b62f94380ef78f891731980de9a40b6867
25
26 diff --git a/media-gfx/imagemagick/imagemagick-7.0.8.16.ebuild b/media-gfx/imagemagick/imagemagick-7.0.8.16.ebuild
27 new file mode 100644
28 index 00000000000..adf47c49a56
29 --- /dev/null
30 +++ b/media-gfx/imagemagick/imagemagick-7.0.8.16.ebuild
31 @@ -0,0 +1,250 @@
32 +# Copyright 1999-2018 Gentoo Authors
33 +# Distributed under the terms of the GNU General Public License v2
34 +
35 +EAPI="6"
36 +
37 +inherit eapi7-ver eutils flag-o-matic libtool perl-functions toolchain-funcs multilib
38 +
39 +if [[ ${PV} == "9999" ]] ; then
40 + EGIT_REPO_URI="https://github.com/ImageMagick/ImageMagick.git"
41 + inherit git-r3
42 + MY_P="imagemagick-9999"
43 +else
44 + MY_P=ImageMagick-$(ver_rs 3 '-')
45 + SRC_URI="mirror://${PN}/${MY_P}.tar.xz"
46 + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
47 +fi
48 +
49 +DESCRIPTION="A collection of tools and libraries for many image formats"
50 +HOMEPAGE="https://www.imagemagick.org/"
51 +
52 +LICENSE="imagemagick"
53 +SLOT="0/${PV}"
54 +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"
55 +
56 +RDEPEND="
57 + dev-libs/libltdl:0
58 + bzip2? ( app-arch/bzip2 )
59 + corefonts? ( media-fonts/corefonts )
60 + djvu? ( app-text/djvu )
61 + fftw? ( sci-libs/fftw:3.0 )
62 + fontconfig? ( media-libs/fontconfig )
63 + fpx? ( >=media-libs/libfpx-1.3.0-r1 )
64 + graphviz? ( media-gfx/graphviz )
65 + heif? ( media-libs/libheif:= )
66 + jbig? ( >=media-libs/jbigkit-2:= )
67 + jpeg? ( virtual/jpeg:0 )
68 + jpeg2k? ( >=media-libs/openjpeg-2.1.0:2 )
69 + lcms? ( media-libs/lcms:2= )
70 + lqr? ( media-libs/liblqr )
71 + opencl? ( virtual/opencl )
72 + openexr? ( media-libs/openexr:0= )
73 + pango? ( x11-libs/pango )
74 + perl? ( >=dev-lang/perl-5.8.8:0= )
75 + png? ( media-libs/libpng:0= )
76 + postscript? ( app-text/ghostscript-gpl )
77 + raw? ( media-libs/libraw:= )
78 + svg? ( gnome-base/librsvg )
79 + tiff? ( media-libs/tiff:0= )
80 + truetype? (
81 + media-fonts/urw-fonts
82 + >=media-libs/freetype-2
83 + )
84 + webp? ( media-libs/libwebp:0= )
85 + wmf? ( media-libs/libwmf )
86 + X? (
87 + x11-libs/libICE
88 + x11-libs/libSM
89 + x11-libs/libXext
90 + x11-libs/libXt
91 + )
92 + xml? ( dev-libs/libxml2:= )
93 + lzma? ( app-arch/xz-utils )
94 + zlib? ( sys-libs/zlib:= )"
95 +DEPEND="${RDEPEND}
96 + !media-gfx/graphicsmagick[imagemagick]
97 + virtual/pkgconfig
98 + X? ( x11-base/xorg-proto )"
99 +
100 +REQUIRED_USE="corefonts? ( truetype )
101 + test? ( corefonts )"
102 +
103 +S="${WORKDIR}/${MY_P}"
104 +
105 +src_prepare() {
106 + default
107 +
108 + # Apply hardening #664236
109 + cp "${FILESDIR}"/policy-hardening.snippet "${S}" || die
110 + sed -i -e '/^<policymap>$/ {
111 + r policy-hardening.snippet
112 + d
113 + }' \
114 + config/policy.xml || \
115 + die "Failed to apply hardening of policy.xml"
116 + einfo "policy.xml hardened"
117 +
118 + elibtoolize # for Darwin modules
119 +
120 + # For testsuite, see https://bugs.gentoo.org/show_bug.cgi?id=500580#c3
121 + local ati_cards mesa_cards nvidia_cards render_cards
122 + shopt -s nullglob
123 + ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
124 + if test -n "${ati_cards}"; then
125 + addpredict "${ati_cards}"
126 + fi
127 + mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
128 + if test -n "${mesa_cards}"; then
129 + addpredict "${mesa_cards}"
130 + fi
131 + nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g')
132 + if test -n "${nvidia_cards}"; then
133 + addpredict "${nvidia_cards}"
134 + fi
135 + render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g')
136 + if test -n "${render_cards}"; then
137 + addpredict "${render_cards}"
138 + fi
139 + shopt -u nullglob
140 + addpredict /dev/nvidiactl
141 +}
142 +
143 +src_configure() {
144 + local depth=16
145 + use q8 && depth=8
146 + use q32 && depth=32
147 +
148 + local openmp=disable
149 + use openmp && { tc-has-openmp && openmp=enable; }
150 +
151 + use perl && perl_check_env
152 +
153 + [[ ${CHOST} == *-solaris* ]] && append-ldflags -lnsl -lsocket
154 +
155 + local myeconfargs=(
156 + $(use_enable static-libs static)
157 + $(use_enable hdri)
158 + $(use_enable opencl)
159 + --with-threads
160 + --with-modules
161 + --with-quantum-depth=${depth}
162 + $(use_with cxx magick-plus-plus)
163 + $(use_with perl)
164 + --with-perl-options='INSTALLDIRS=vendor'
165 + --with-gs-font-dir="${EPREFIX}"/usr/share/fonts/urw-fonts
166 + $(use_with bzip2 bzlib)
167 + $(use_with X x)
168 + $(use_with zlib)
169 + --without-autotrace
170 + $(use_with postscript dps)
171 + $(use_with djvu)
172 + --with-dejavu-font-dir="${EPREFIX}"/usr/share/fonts/dejavu
173 + $(use_with fftw)
174 + $(use_with fpx)
175 + $(use_with fontconfig)
176 + $(use_with truetype freetype)
177 + $(use_with postscript gslib)
178 + $(use_with graphviz gvc)
179 + $(use_with heif heic)
180 + $(use_with jbig)
181 + $(use_with jpeg)
182 + $(use_with jpeg2k openjp2)
183 + $(use_with lcms)
184 + $(use_with lqr)
185 + $(use_with lzma)
186 + $(use_with openexr)
187 + $(use_with pango)
188 + $(use_with png)
189 + $(use_with raw)
190 + $(use_with svg rsvg)
191 + $(use_with tiff)
192 + $(use_with webp)
193 + $(use_with corefonts windows-font-dir "${EPREFIX}"/usr/share/fonts/corefonts)
194 + $(use_with wmf)
195 + $(use_with xml)
196 + --${openmp}-openmp
197 + --with-gcc-arch=no-automagic
198 + )
199 + CONFIG_SHELL=$(type -P bash) econf "${myeconfargs[@]}"
200 +}
201 +
202 +src_test() {
203 + # Install default (unrestricted) policy in $HOME for test suite #664238
204 + local _im_local_config_home="${HOME}/.config/ImageMagick"
205 + mkdir -p "${_im_local_config_home}" || \
206 + die "Failed to create IM config dir in '${_im_local_config_home}'"
207 + cp "${FILESDIR}"/policy.test.xml "${_im_local_config_home}/policy.xml" || \
208 + die "Failed to install default blank policy.xml in '${_im_local_config_home}'"
209 +
210 + local im_command= IM_COMMANDS=()
211 + IM_COMMANDS+=( "magick -version" ) # Verify that we are using version we just built
212 + IM_COMMANDS+=( "magick -list policy" ) # Verify that policy.xml is used
213 + IM_COMMANDS+=( "emake check" ) # Run tests
214 +
215 + for im_command in "${IM_COMMANDS[@]}"; do
216 + "${S}"/magick.sh \
217 + ${im_command} || die
218 + done
219 +}
220 +
221 +src_install() {
222 + # Ensure documentation installation files and paths with each release!
223 + emake \
224 + DESTDIR="${D}" \
225 + DOCUMENTATION_PATH="${EPREFIX}"/usr/share/doc/${PF}/html \
226 + install
227 +
228 + rm -f "${ED%/}"/usr/share/doc/${PF}/html/{ChangeLog,LICENSE,NEWS.txt}
229 + dodoc {AUTHORS,README}.txt ChangeLog
230 +
231 + if use perl; then
232 + find "${ED}" -type f -name perllocal.pod -exec rm -f {} +
233 + find "${ED}" -depth -mindepth 1 -type d -empty -exec rm -rf {} +
234 + fi
235 +
236 + find "${ED}" -name '*.la' -exec sed -i -e "/^dependency_libs/s:=.*:='':" {} +
237 +
238 + if use opencl; then
239 + cat <<-EOF > "${T}"/99${PN}
240 + SANDBOX_PREDICT="/dev/nvidiactl:/dev/nvidia-uvm:/dev/ati/card:/dev/dri/card:/dev/dri/renderD128"
241 + EOF
242 +
243 + insinto /etc/sandbox.d
244 + doins "${T}"/99${PN} #472766
245 + fi
246 +
247 + insinto /usr/share/${PN}
248 + doins config/*icm
249 +}
250 +
251 +pkg_postinst() {
252 + local _show_policy_xml_notice=
253 +
254 + if [[ -z "${REPLACING_VERSIONS}" ]]; then
255 + # This is a new installation
256 + _show_policy_xml_notice=yes
257 + else
258 + local v
259 + for v in ${REPLACING_VERSIONS}; do
260 + if ! ver_test "${v}" -gt "7.0.8.10-r2"; then
261 + # This is an upgrade
262 + _show_policy_xml_notice=yes
263 +
264 + # Show this elog only once
265 + break
266 + fi
267 + done
268 + fi
269 +
270 + if [[ -n "${_show_policy_xml_notice}" ]]; then
271 + elog "For security reasons, a policy.xml file was installed in /etc/ImageMagick-7"
272 + elog "which will prevent the usage of the following coders by default:"
273 + elog ""
274 + elog " - PS"
275 + elog " - PS2"
276 + elog " - PS3"
277 + elog " - EPS"
278 + elog " - PDF"
279 + elog " - XPS"
280 + fi
281 +}