Gentoo Archives: gentoo-commits

From: Thomas Deutschmann <whissi@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: media-libs/gd/files/, media-libs/gd/
Date: Sun, 10 May 2020 22:41:14
Message-Id: 1589150149.69c5150b44714482be91bee9004afffef4200a91.whissi@gentoo
1 commit: 69c5150b44714482be91bee9004afffef4200a91
2 Author: Sam James (sam_c) <sam <AT> cmpct <DOT> info>
3 AuthorDate: Tue May 5 18:11:14 2020 +0000
4 Commit: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
5 CommitDate: Sun May 10 22:35:49 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=69c5150b
7
8 media-libs/gd: Security bump to 2.3.0
9
10 Bug: https://bugs.gentoo.org/719464
11 Bug: https://bugs.gentoo.org/632076
12 Bug: https://bugs.gentoo.org/608730
13 Package-Manager: Portage-2.3.99, Repoman-2.3.22
14 Signed-off-by: Sam James (sam_c) <sam <AT> cmpct.info>
15 Closes: https://github.com/gentoo/gentoo/pull/15657
16 Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>
17
18 media-libs/gd/Manifest | 1 +
19 .../gd/files/gd-2.3.0-disable-flaky-tests.patch | 25 +++++++
20 media-libs/gd/files/gd-2.3.0-getlib.patch | 81 ++++++++++++++++++++++
21 media-libs/gd/gd-2.3.0.ebuild | 80 +++++++++++++++++++++
22 4 files changed, 187 insertions(+)
23
24 diff --git a/media-libs/gd/Manifest b/media-libs/gd/Manifest
25 index 986a6d40524..8c9c7e108d4 100644
26 --- a/media-libs/gd/Manifest
27 +++ b/media-libs/gd/Manifest
28 @@ -1,3 +1,4 @@
29 DIST libgd-2.2.5-ossfuzz5700.dat 30 BLAKE2B 5ddd3d2be2adf05e1e2eb1852cc689be57d4d77c57b471e8b6021877f2fb137d15b4c73445fbb23a9ed585974a96dd154759a48712c1e7b5bdc5750d534aee4a SHA512 2394e92ff7a42c818e13a1ac9ad15bc81aa401adc917366ec8c440bb7f27a63777ab059aa03c501dafef0ac16b462dd23c7fb9f8086ce558203384a98a235fff
30 DIST libgd-2.2.5-php_bug_75571.dat 1731 BLAKE2B 4b5d3f258b73e8089ede1b2c9f538855f410965a9e01e1f3f151ae52f072036172b184bd1a4d07b8355bb974bf088bebb0e812175a277bb67926274272bd80a0 SHA512 b3048640ce7828cca7901fadc989e867cfc6d31b44c0f5a1bda54d7428f317c8c8fc6403fef301e193869a95eb46eb7195d47710ec7f8c507ba049cb6cdcb281
31 DIST libgd-2.2.5.tar.xz 2594092 BLAKE2B 222a7e012fbf9924ac391ee96c7cd3dec96afd78c6d43dfb680b33e7143e7df87fe6be75bbfe8fb93e916302d7daf08271214c84da28712e93a36465566cb2bd SHA512 e4598e17a277a75e02255402182cab139cb3f2cffcd68ec05cc10bbeaf6bc7aa39162c3445cd4a7efc1a26b72b9152bbedb187351e3ed099ea51767319997a6b
32 +DIST libgd-2.3.0.tar.xz 2539188 BLAKE2B a90f48be959d1bb6774ec44960e191b8be134ff3e74401eba4cbf9b165c72665f3dffe3beaaf92fa6069e0ef79533be5d57a5946a1839f55446072fa322ed808 SHA512 5b201d22560e147a3d5471010b898ad0268c3a2453b870d1267b6ba92e540cf9f75099336c1ab08217e41827ac86fe04525726bf29ad117e5dcbaef9a8d0622a
33
34 diff --git a/media-libs/gd/files/gd-2.3.0-disable-flaky-tests.patch b/media-libs/gd/files/gd-2.3.0-disable-flaky-tests.patch
35 new file mode 100644
36 index 00000000000..245b3aac443
37 --- /dev/null
38 +++ b/media-libs/gd/files/gd-2.3.0-disable-flaky-tests.patch
39 @@ -0,0 +1,25 @@
40 +diff --git a/tests/gdimagecopyresampled/Makemodule.am b/tests/gdimagecopyresampled/Makemodule.am
41 +index d42eab5..3644213 100644
42 +--- a/tests/gdimagecopyresampled/Makemodule.am
43 ++++ b/tests/gdimagecopyresampled/Makemodule.am
44 +@@ -4,8 +4,7 @@ libgd_test_programs += \
45 + if HAVE_LIBPNG
46 + libgd_test_programs += \
47 + gdimagecopyresampled/basic \
48 +- gdimagecopyresampled/basic_alpha \
49 +- gdimagecopyresampled/bug00201
50 ++ gdimagecopyresampled/basic_alpha
51 + endif
52 +
53 + EXTRA_DIST += \
54 +diff --git a/tests/gdimagegrayscale/Makemodule.am b/tests/gdimagegrayscale/Makemodule.am
55 +index c6fec00..2d81a4a 100644
56 +--- a/tests/gdimagegrayscale/Makemodule.am
57 ++++ b/tests/gdimagegrayscale/Makemodule.am
58 +@@ -1,6 +1,5 @@
59 + if HAVE_LIBPNG
60 + libgd_test_programs += \
61 +- gdimagegrayscale/basic \
62 + gdimagegrayscale/bug00386
63 + endif
64 +
65
66 diff --git a/media-libs/gd/files/gd-2.3.0-getlib.patch b/media-libs/gd/files/gd-2.3.0-getlib.patch
67 new file mode 100644
68 index 00000000000..91884e93292
69 --- /dev/null
70 +++ b/media-libs/gd/files/gd-2.3.0-getlib.patch
71 @@ -0,0 +1,81 @@
72 +From 635dd9a3065ed88e1741e6b963044b80e913f96a Mon Sep 17 00:00:00 2001
73 +From: Remi Collet <remi@××××××××.net>
74 +Date: Tue, 24 Mar 2020 08:01:01 +0100
75 +Subject: [PATCH] distribute getlib.sh
76 +
77 +---
78 + config/Makefile.am | 2 +-
79 + 1 file changed, 1 insertion(+), 1 deletion(-)
80 +
81 +diff --git a/config/Makefile.am b/config/Makefile.am
82 +index 122287ee..6416dda4 100644
83 +--- a/config/Makefile.am
84 ++++ b/config/Makefile.am
85 +@@ -1,5 +1,5 @@
86 + ## Process this file with automake to produce Makefile.in -*-Makefile-*-
87 +-EXTRA_DIST = gdlib.pc.cmake gdlib.pc.in getver.pl
88 ++EXTRA_DIST = gdlib.pc.cmake gdlib.pc.in getlib.sh getver.pl
89 +
90 + pkgconfigdir = $(libdir)/pkgconfig
91 + pkgconfig_DATA = gdlib.pc
92 +
93 +diff -ruN a/config/getlib.sh b/config/getlib.sh
94 +--- a/config/getlib.sh 1970-01-01 00:00:00.000000000 -0000
95 ++++ b/config/getlib.sh 2020-05-05 17:37:31.638896089 -0000
96 +@@ -0,0 +1,43 @@
97 ++#!/bin/sh
98 ++
99 ++GETVER="${0%/*}/getver.pl"
100 ++GDLIB_MAJOR=$("${GETVER}" MAJOR)
101 ++GDLIB_MINOR=$("${GETVER}" MINOR)
102 ++GDLIB_REVISION=$("${GETVER}" RELEASE)
103 ++
104 ++# Dynamic library version information
105 ++# See http://www.gnu.org/software/libtool/manual/libtool.html#Updating-version-info
106 ++
107 ++GDLIB_LT_CURRENT=3
108 ++# This is the version where the soname (current above) changes. We use it
109 ++# to reset the revision base back to zero. It's a bit of a pain, but some
110 ++# systems restrict the revision range below to [0..255] (like OS X).
111 ++GDLIB_PREV_MAJOR=2
112 ++GDLIB_PREV_MINOR=2
113 ++# This isn't 100% correct, but it tends to be a close enough approximation
114 ++# for how we manage the codebase. It's rare to do a release that doesn't
115 ++# modify the library since this project is centered around the library.
116 ++GDLIB_LT_REVISION=$(( ((GDLIB_MAJOR - GDLIB_PREV_MAJOR) << 6) | ((GDLIB_MINOR - GDLIB_PREV_MINOR) << 3) | GDLIB_REVISION ))
117 ++GDLIB_LT_AGE=0
118 ++
119 ++# The first three fields we feed into libtool and the OS target determines how
120 ++# they get used. The last two fields we feed into cmake. We use the same rules
121 ++# as Linux SONAME versioning in libtool, but cmake should handle it for us.
122 ++case $1 in
123 ++CURRENT)
124 ++ printf '%s' "${GDLIB_LT_CURRENT}"
125 ++ ;;
126 ++REVISION)
127 ++ printf '%s' "${GDLIB_LT_REVISION}"
128 ++ ;;
129 ++AGE)
130 ++ printf '%s' "${GDLIB_LT_AGE}"
131 ++ ;;
132 ++VERSION)
133 ++ printf '%s' "$(( GDLIB_LT_CURRENT - GDLIB_LT_AGE )).${GDLIB_LT_AGE}.${GDLIB_LT_REVISION}"
134 ++ ;;
135 ++SONAME)
136 ++ printf '%s' "$(( GDLIB_LT_CURRENT - GDLIB_LT_AGE ))"
137 ++ ;;
138 ++esac
139 ++
140 +diff --git a/configure.ac b/configure.ac
141 +index 8996053..86d0bc9 100644
142 +--- a/configure.ac
143 ++++ b/configure.ac
144 +@@ -20,7 +20,7 @@ AC_CANONICAL_HOST
145 +
146 + dnl Keep the libtool version details in an external script so cmake can
147 + dnl access the values too.
148 +-define([lt_gv], [config/getlib.sh ]$1)
149 ++define([lt_gv], [${SHELL} config/getlib.sh ]$1)
150 + m4_define([gd_LT_CURRENT], esyscmd(lt_gv(CURRENT)))
151 + m4_define([gd_LT_REVISION], esyscmd(lt_gv(REVISION)))
152 + m4_define([gd_LT_AGE], esyscmd(lt_gv(AGE)))
153
154 diff --git a/media-libs/gd/gd-2.3.0.ebuild b/media-libs/gd/gd-2.3.0.ebuild
155 new file mode 100644
156 index 00000000000..d9d3160c5c5
157 --- /dev/null
158 +++ b/media-libs/gd/gd-2.3.0.ebuild
159 @@ -0,0 +1,80 @@
160 +# Copyright 1999-2020 Gentoo Authors
161 +# Distributed under the terms of the GNU General Public License v2
162 +
163 +EAPI="7"
164 +
165 +inherit autotools flag-o-matic multilib-minimal
166 +
167 +DESCRIPTION="Graphics library for fast image creation"
168 +HOMEPAGE="https://libgd.org/ https://www.boutell.com/gd/"
169 +SRC_URI="https://github.com/libgd/libgd/releases/download/${P}/lib${P}.tar.xz"
170 +
171 +LICENSE="gd IJG HPND BSD"
172 +SLOT="2/3"
173 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~ppc-aix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
174 +IUSE="cpu_flags_x86_sse fontconfig jpeg png static-libs test tiff truetype webp xpm zlib"
175 +RESTRICT="!test? ( test )"
176 +
177 +# fontconfig has prefixed font paths, details see bug #518970
178 +REQUIRED_USE="prefix? ( fontconfig )"
179 +
180 +RDEPEND="fontconfig? ( >=media-libs/fontconfig-2.10.92[${MULTILIB_USEDEP}] )
181 + jpeg? ( >=virtual/jpeg-0-r2:0=[${MULTILIB_USEDEP}] )
182 + png? ( >=media-libs/libpng-1.6.10:0=[${MULTILIB_USEDEP}] )
183 + tiff? ( media-libs/tiff:0[${MULTILIB_USEDEP}] )
184 + truetype? ( >=media-libs/freetype-2.5.0.1[${MULTILIB_USEDEP}] )
185 + webp? ( media-libs/libwebp:=[${MULTILIB_USEDEP}] )
186 + xpm? ( >=x11-libs/libXpm-3.5.10-r1[${MULTILIB_USEDEP}] >=x11-libs/libXt-1.1.4[${MULTILIB_USEDEP}] )
187 + zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] )"
188 +DEPEND="${RDEPEND}
189 + >=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}]"
190 +
191 +S="${WORKDIR}/lib${P}"
192 +
193 +PATCHES=(
194 + "${FILESDIR}/${PN}-2.3.0-disable-flaky-tests.patch"
195 + "${FILESDIR}/${PN}-2.3.0-getlib.patch"
196 +)
197 +
198 +src_prepare() {
199 + default
200 + eautoreconf
201 +}
202 +
203 +multilib_src_configure() {
204 + # bug 603360, https://github.com/libgd/libgd/blob/fd06f7f83c5e78bf5b7f5397746b4e5ee4366250/docs/README.TESTING#L65
205 + if use cpu_flags_x86_sse ; then
206 + append-cflags -msse -mfpmath=sse
207 + else
208 + append-cflags -ffloat-store
209 + fi
210 +
211 + # bug 632076, https://github.com/libgd/libgd/issues/278
212 + if use arm64 || use ppc64 || use s390 ; then
213 + append-cflags -ffp-contract=off
214 + fi
215 +
216 + # we aren't actually {en,dis}abling X here ... the configure
217 + # script uses it just to add explicit -I/-L paths which we
218 + # don't care about on Gentoo systems.
219 + local myeconfargs=(
220 + --disable-werror
221 + --without-x
222 + --without-liq
223 + $(use_enable static-libs static)
224 + $(use_with fontconfig)
225 + $(use_with png)
226 + $(use_with tiff)
227 + $(use_with truetype freetype)
228 + $(use_with jpeg)
229 + $(use_with webp)
230 + $(use_with xpm)
231 + $(use_with zlib)
232 + )
233 + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
234 +}
235 +
236 +multilib_src_install_all() {
237 + dodoc README.md
238 + find "${ED}" -name '*.la' -delete || die
239 +}