Gentoo Archives: gentoo-commits

From: "Andreas Hüttel" <dilfridge@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: app-text/ghostscript-gpl/
Date: Sat, 28 Jan 2017 22:48:10
Message-Id: 1485643677.521a0bbaf9bea07b4c977156bb5cd3efaded1bb4.dilfridge@gentoo
1 commit: 521a0bbaf9bea07b4c977156bb5cd3efaded1bb4
2 Author: Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
3 AuthorDate: Sat Jan 28 22:47:18 2017 +0000
4 Commit: Andreas Hüttel <dilfridge <AT> gentoo <DOT> org>
5 CommitDate: Sat Jan 28 22:47:57 2017 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=521a0bba
7
8 app-text/ghostscript-gpl: Revision bump adding various security patches from Fedora, bug 596576
9
10 Many thanks to dev-zero for preparing this.
11 It fixes CVE-2016-7976, CVE-2016-7977, CVE-2016-7978, CVE-2016-7979, CVE-2016-8602
12
13 Package-Manager: Portage-2.3.3, Repoman-2.3.1
14
15 app-text/ghostscript-gpl/Manifest | 1 +
16 .../ghostscript-gpl/ghostscript-gpl-9.20-r1.ebuild | 255 +++++++++++++++++++++
17 2 files changed, 256 insertions(+)
18
19 diff --git a/app-text/ghostscript-gpl/Manifest b/app-text/ghostscript-gpl/Manifest
20 index e7cb3af..19a95d7 100644
21 --- a/app-text/ghostscript-gpl/Manifest
22 +++ b/app-text/ghostscript-gpl/Manifest
23 @@ -3,4 +3,5 @@ DIST ghostscript-9.19.tar.bz2 29616270 SHA256 f67acdcfcde1f86757ff3553cd719f12ea
24 DIST ghostscript-9.20.tar.xz 26387028 SHA256 3c0f3dc5df6f784850fa4ce7dcc3d6c56ef543af1fbaedd1d9f8d9f8b66de0ab SHA512 3e636f9746303f0d0fbcdfed22e8da4cc2cfd87c2afde38ffef67acb6a9fc2416aaca691d64355294e70f699bcf4acf33b09d3493dc24bc3c368387f066357fd WHIRLPOOL 0c58d8a860093ae856339839aa5012f5e47d87891fc16890cf7730979cb6506c1b686a6c1ca5dfbdcaafc614d989fec09b665d9eacc784f0dc31bca50d341f7f
25 DIST ghostscript-gpl-9.12-patchset-1.tar.bz2 4940 SHA256 5c0e99a192a6d0e142c4c5f38a2d80ceeeb4a8e2265264d31360b06f3d94e0b5 SHA512 e3daf758c75ecb6a38dbece91b0f44ae06985920080b376384a9b3ad2ad35295530c144832158af2933d5fc49782c1fc6733efc60106193499c615a502f5e656 WHIRLPOOL e9436e1681e95a4b578a9de577d9b487ad119893c141baf840cd5dae0b89f5eedbde6d2f1225fb97c425a6dc3f3fb7f1ea6a02ab02b799438c3002fb933575c6
26 DIST ghostscript-gpl-9.20-patchset-1.tar.xz 3048 SHA256 c61152a457d00418bea5586094b26a496f891e7150d6a1e3fe041e0d34301530 SHA512 b8b0a39d715f2c054d71710c870514af5a9494017ae35393e3c4323357d72411630de0c6ac50ea4a84a9e4537455e21742c6317b3354d5db1769fe5d39392f35 WHIRLPOOL 0ad329ff8262cc5719bc31f995381d15777a7b293573dc50ce75274a2a6809819ffe5cf4fba679333d981c136bc4f01055de797d6bfa917a7fb4708c8ebeda61
27 +DIST ghostscript-gpl-9.20-patchset-2.tar.xz 16696 SHA256 10172b0e1c2bf85933d568bb59f3aa7c1faf7b56b8cf3ab54dfa41e032c3490d SHA512 c62acfaae388d9ecd0d00b3b63e1e42fdc917eaf568ac65833490656d6f7261a7b8df3ba44ed50373007f48b4dd3ca9a3c528ae126307d58635200521e32ba4d WHIRLPOOL 3bf59a324f8f35764cad687da158c404f884ed639505ee5a3ca79ef90bba36b8f4e6919a40aae99947b75697d743340aa88b6a5ba1d7c0e12d17b124385347d3
28 DIST gsdjvu-1.6.tar.gz 207122 SHA256 6236b14b79345eda87cce9ba22387e166e7614cca2ca86b1c6f0d611c26005df SHA512 57f3866f1f863fa31f066b45ee679cfbdf2c6a9bec922f24fa9f50dd3ea52f192b4c9889b0c9657e96ca9e3528d3fea7dcc53b4d1ea87dd49d138ce9c9684884 WHIRLPOOL 66e5222412d9da2d616ba0a3f73548d031b3e6726eff7bc60bea703b02ce4d22e100adad1faf3fabaac379b4ef8324324eabb8b5320f74ebafe929b577dd6c8d
29
30 diff --git a/app-text/ghostscript-gpl/ghostscript-gpl-9.20-r1.ebuild b/app-text/ghostscript-gpl/ghostscript-gpl-9.20-r1.ebuild
31 new file mode 100644
32 index 00000000..e90f500
33 --- /dev/null
34 +++ b/app-text/ghostscript-gpl/ghostscript-gpl-9.20-r1.ebuild
35 @@ -0,0 +1,255 @@
36 +# Copyright 1999-2017 Gentoo Foundation
37 +# Distributed under the terms of the GNU General Public License v2
38 +# $Id$
39 +
40 +EAPI=6
41 +
42 +inherit autotools multilib versionator flag-o-matic toolchain-funcs
43 +
44 +DESCRIPTION="Ghostscript is an interpreter for the PostScript language and for PDF"
45 +HOMEPAGE="http://ghostscript.com/"
46 +
47 +# Maintainer notes about djvu support:
48 +# gsdjvu has not seen any commits since July 2016, which was also roughly the time
49 +# when ghostscript started rearranging internals. Issues I found so far:
50 +# * gs_state and gs_imager_state got unified into gs_gstate
51 +# * decode_glyph changed arguments and semantics (it doesnt give you the unicode now,
52 +# but the length of the required byte array, which you have to allocate and fill)
53 +# * gs_text_enum_t has lost its element pis (???)
54 +
55 +MY_P=${P/-gpl}
56 +# GSDJVU_PV=1.9
57 +PVM=$(get_version_component_range 1-2)
58 +PVM_S=$(replace_all_version_separators "" ${PVM})
59 +# SRC_URI="
60 +# https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs${PVM_S}/${MY_P}.tar.xz
61 +# mirror://gentoo/${PN}-9.20-patchset-1.tar.xz
62 +# djvu? ( mirror://sourceforge/djvu/gsdjvu-${GSDJVU_PV}.tar.gz )"
63 +SRC_URI="
64 + https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs${PVM_S}/${MY_P}.tar.xz
65 + https://dev.gentoo.org/~dilfridge/distfiles/${PN}-9.20-patchset-2.tar.xz
66 +"
67 +
68 +LICENSE="AGPL-3 CPL-1.0"
69 +SLOT="0"
70 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
71 +# IUSE="cups dbus djvu gtk idn l10n_de static-libs tiff X"
72 +IUSE="cups dbus gtk idn l10n_de static-libs tiff X"
73 +# RESTRICT="djvu? ( bindist )"
74 +
75 +COMMON_DEPEND="
76 + app-text/libpaper
77 + media-libs/fontconfig
78 + >=media-libs/freetype-2.4.9:2=
79 + media-libs/jbig2dec
80 + >=media-libs/lcms-2.6:2
81 + >=media-libs/libpng-1.6.2:0=
82 + >=media-libs/openjpeg-2.1.0:2=
83 + >=sys-libs/zlib-1.2.7:=
84 + virtual/jpeg:0
85 + cups? ( >=net-print/cups-1.3.8 )
86 + dbus? ( sys-apps/dbus )
87 + gtk? ( || ( x11-libs/gtk+:3 x11-libs/gtk+:2 ) )
88 + idn? ( net-dns/libidn )
89 + tiff? ( >=media-libs/tiff-4.0.1:0= )
90 + X? ( x11-libs/libXt x11-libs/libXext )
91 +"
92 +# djvu? ( app-text/djvu )
93 +
94 +DEPEND="${COMMON_DEPEND}
95 + virtual/pkgconfig
96 +"
97 +
98 +RDEPEND="${COMMON_DEPEND}
99 + >=app-text/poppler-data-0.4.5-r1
100 + >=media-fonts/urw-fonts-2.4.9
101 + l10n_ja? ( media-fonts/kochi-substitute )
102 + l10n_ko? ( media-fonts/baekmuk-fonts )
103 + l10n_zh-CN? ( media-fonts/arphicfonts )
104 + l10n_zh-TW? ( media-fonts/arphicfonts )
105 + !!media-fonts/gnu-gs-fonts-std
106 + !!media-fonts/gnu-gs-fonts-other
107 + !<net-print/cups-filters-1.0.36-r2
108 +"
109 +
110 +S="${WORKDIR}/${MY_P}"
111 +
112 +LANGS="ja ko zh-CN zh-TW"
113 +for X in ${LANGS} ; do
114 + IUSE="${IUSE} l10n_${X}"
115 +done
116 +
117 +#pkg_setup() {
118 +# if use djvu; then
119 +# ewarn "With USE=\"djvu\", distribution of binaries is restricted!"
120 +# ewarn "See http://djvu.sourceforge.net/gsdjvu/COPYING for details on licensing issues."
121 +# fi
122 +#}
123 +
124 +src_prepare() {
125 + default
126 +
127 + # remove internal copies of various libraries
128 + rm -rf "${S}"/cups/libs || die
129 + rm -rf "${S}"/expat || die
130 + rm -rf "${S}"/freetype || die
131 + rm -rf "${S}"/jbig2dec || die
132 + rm -rf "${S}"/jpeg{,xr} || die
133 + rm -rf "${S}"/lcms{,2} || die
134 + rm -rf "${S}"/libpng || die
135 + rm -rf "${S}"/tiff || die
136 + rm -rf "${S}"/zlib || die
137 + rm -rf "${S}"/openjpeg || die
138 + # remove internal CMaps (CMaps from poppler-data are used instead)
139 + rm -rf "${S}"/Resource/CMap || die
140 +
141 + # apply various patches, many borrowed from Fedora
142 + # http://pkgs.fedoraproject.org/cgit/ghostscript.git
143 + eapply "${WORKDIR}/patches/"*.patch
144 +
145 +# if use djvu ; then
146 +# unpack gsdjvu-${GSDJVU_PV}.tar.gz
147 +#
148 +# local gsdjvu_base=devices
149 +# local gsdjvu_msed='-e s/@@djvu@@/DEV/g'
150 +#
151 +# cp gsdjvu-${GSDJVU_PV}/gdevdjvu.c "${S}"/${gsdjvu_base} || die
152 +#
153 +# cp gsdjvu-${GSDJVU_PV}/ps2utf8.ps "${S}"/lib || die
154 +#
155 +# cp gsdjvu-${GSDJVU_PV}/gsdjvu "${S}" || die
156 +# cp "${S}"/${gsdjvu_base}/contrib.mak "${S}"/${gsdjvu_base}/contrib.mak.gsdjvu || die
157 +# grep -q djvusep "${S}"/${gsdjvu_base}/contrib.mak || \
158 +# sed ${gsdjvu_msed} < gsdjvu-${GSDJVU_PV}/gsdjvu.mak >> "${S}"/${gsdjvu_base}/contrib.mak || die
159 +#
160 +## # install ps2utf8.ps, bug #197818
161 +## sed -i -e '/$(EXTRA_INIT_FILES)/ a\ps2utf8.ps \\' \
162 +## "${S}"/base/unixinst.mak || die "sed failed"
163 +# fi
164 +
165 + if ! use gtk ; then
166 + sed -i -e "s:\$(GSSOX)::" \
167 + -e "s:.*\$(GSSOX_XENAME)$::" \
168 + "${S}"/base/unix-dll.mak || die "sed failed"
169 + fi
170 +
171 + # Force the include dirs to a neutral location.
172 + sed -i \
173 + -e "/^ZLIBDIR=/s:=.*:=${T}:" \
174 + configure.ac || die
175 + # Some files depend on zlib.h directly. Redirect them. #573248
176 + # Also make sure to not define OPJ_STATIC to avoid linker errors due to
177 + # hidden symbols (https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=203327#c1)
178 + sed -i \
179 + -e '/^zlib_h/s:=.*:=:' \
180 + -e 's|-DOPJ_STATIC ||' \
181 + base/lib.mak || die
182 +
183 + # search path fix
184 + # put LDFLAGS after BINDIR, bug #383447
185 + sed -i -e "s:\$\(gsdatadir\)/lib:@datarootdir@/ghostscript/${PVM}/$(get_libdir):" \
186 + -e "s:exdir=.*:exdir=@datarootdir@/doc/${PF}/examples:" \
187 + -e "s:docdir=.*:docdir=@datarootdir@/doc/${PF}/html:" \
188 + -e "s:GS_DOCDIR=.*:GS_DOCDIR=@datarootdir@/doc/${PF}/html:" \
189 + -e 's:-L$(BINDIR):& $(LDFLAGS):g' \
190 + "${S}"/Makefile.in "${S}"/base/*.mak || die "sed failed"
191 +
192 + cd "${S}" || die
193 + # remove incorrect symlink, bug 590384
194 + rm -f ijs/ltmain.sh || die
195 + eautoreconf
196 +
197 + cd "${S}/ijs" || die
198 + eautoreconf
199 +}
200 +
201 +src_configure() {
202 + local FONTPATH
203 + for path in \
204 + /usr/share/fonts/urw-fonts \
205 + /usr/share/fonts/Type1 \
206 + /usr/share/fonts \
207 + /usr/share/poppler/cMap/Adobe-CNS1 \
208 + /usr/share/poppler/cMap/Adobe-GB1 \
209 + /usr/share/poppler/cMap/Adobe-Japan1 \
210 + /usr/share/poppler/cMap/Adobe-Japan2 \
211 + /usr/share/poppler/cMap/Adobe-Korea1
212 + do
213 + FONTPATH="$FONTPATH${FONTPATH:+:}${EPREFIX}$path"
214 + done
215 +
216 + PKGCONFIG=$(type -P $(tc-getPKG_CONFIG)) \
217 + econf \
218 + --enable-dynamic \
219 + --enable-freetype \
220 + --enable-fontconfig \
221 + --enable-openjpeg \
222 + --disable-compile-inits \
223 + --with-drivers=ALL \
224 + --with-fontpath="$FONTPATH" \
225 + --with-ijs \
226 + --with-jbig2dec \
227 + --with-libpaper \
228 + --without-luratech \
229 + $(use_enable cups) \
230 + $(use_enable dbus) \
231 + $(use_enable gtk) \
232 + $(use_with cups pdftoraster) \
233 + $(use_with idn libidn) \
234 + $(use_with tiff system-libtiff) \
235 + $(use_with X x)
236 +
237 +# if use djvu ; then
238 +# sed -i -e 's!$(DD)bbox.dev!& $(DD)djvumask.dev $(DD)djvusep.dev!g' \
239 +# "${S}"/Makefile || die "sed failed"
240 +# fi
241 +
242 + cd "${S}/ijs" || die
243 + econf \
244 + --enable-shared \
245 + $(use_enable static-libs static)
246 +}
247 +
248 +src_compile() {
249 + # -j1 needed because of bug #550926
250 + emake -j1 so all
251 +
252 + cd "${S}/ijs" || die
253 + emake
254 +}
255 +
256 +src_install() {
257 + emake -j1 DESTDIR="${D}" install-so install
258 +
259 +# use djvu && dobin gsdjvu
260 +
261 + # move gsc to gs, bug #343447
262 + # gsc collides with gambit, bug #253064
263 + mv -f "${ED}"/usr/bin/{gsc,gs} || die
264 +
265 + cd "${S}/ijs" || die
266 + emake -j1 DESTDIR="${D}" install
267 +
268 + # rename the original cidfmap to cidfmap.GS
269 + mv "${ED}/usr/share/ghostscript/${PVM}/Resource/Init/cidfmap"{,.GS} || die
270 +
271 + # install our own cidfmap to handle CJK fonts
272 + insinto /usr/share/ghostscript/${PVM}/Resource/Init
273 + doins \
274 + "${WORKDIR}/fontmaps/CIDFnmap" \
275 + "${WORKDIR}/fontmaps/cidfmap"
276 + for X in ${LANGS} ; do
277 + if use l10n_${X} ; then
278 + doins "${WORKDIR}/fontmaps/cidfmap.${X/-/_}"
279 + fi
280 + done
281 +
282 + # install the CMaps from poppler-data properly, bug #409361
283 + dosym /usr/share/poppler/cMaps /usr/share/ghostscript/${PVM}/Resource/CMap
284 +
285 + use static-libs || prune_libtool_files --all
286 +
287 + if ! use l10n_de; then
288 + rm -r "${ED}"/usr/share/man/de || die
289 + fi
290 +}