summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Seifert <soap@gentoo.org>2024-11-13 12:07:42 +0100
committerDavid Seifert <soap@gentoo.org>2024-11-13 12:07:42 +0100
commitec1eebeb26c801965e3ca5d5d3b1b3757ed9b4be (patch)
tree0c534ad51091b84402ef5246da6d9e135c9a3dc6 /x11-libs
parentx11-libs/agg: remove unused patches (diff)
downloadgentoo-ec1eebeb26c801965e3ca5d5d3b1b3757ed9b4be.tar.gz
gentoo-ec1eebeb26c801965e3ca5d5d3b1b3757ed9b4be.tar.bz2
gentoo-ec1eebeb26c801965e3ca5d5d3b1b3757ed9b4be.zip
x11-libs/agg: fix ICU compilation bug
Closes: https://bugs.gentoo.org/894708 Closes: https://bugs.gentoo.org/937853 Signed-off-by: David Seifert <soap@gentoo.org>
Diffstat (limited to 'x11-libs')
-rw-r--r--x11-libs/agg/agg-2.5-r3.ebuild4
-rw-r--r--x11-libs/agg/files/agg-2.5-char-ptr-cast.patch13
-rw-r--r--x11-libs/agg/files/agg-2.5-register-keyword.patch70
3 files changed, 86 insertions, 1 deletions
diff --git a/x11-libs/agg/agg-2.5-r3.ebuild b/x11-libs/agg/agg-2.5-r3.ebuild
index 78e303ff492b..b4dbb7fd7b19 100644
--- a/x11-libs/agg/agg-2.5-r3.ebuild
+++ b/x11-libs/agg/agg-2.5-r3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -34,6 +34,8 @@ PATCHES=(
"${FILESDIR}"/${P}-sdl-automagic.patch
"${FILESDIR}"/${P}-gcc8.patch
"${FILESDIR}"/${PVR}
+ "${FILESDIR}"/${P}-char-ptr-cast.patch
+ "${FILESDIR}"/${P}-register-keyword.patch
)
src_prepare() {
diff --git a/x11-libs/agg/files/agg-2.5-char-ptr-cast.patch b/x11-libs/agg/files/agg-2.5-char-ptr-cast.patch
new file mode 100644
index 000000000000..043ebf056b22
--- /dev/null
+++ b/x11-libs/agg/files/agg-2.5-char-ptr-cast.patch
@@ -0,0 +1,13 @@
+https://bugs.gentoo.org/937853
+
+--- a/font_freetype/agg_font_freetype.cpp
++++ b/font_freetype/agg_font_freetype.cpp
+@@ -186,7 +186,7 @@
+ v_control = v_start;
+
+ point = outline.points + first;
+- tags = outline.tags + first;
++ tags = reinterpret_cast<char*>(outline.tags) + first;
+ tag = FT_CURVE_TAG(tags[0]);
+
+ // A contour cannot start with a cubic control point!
diff --git a/x11-libs/agg/files/agg-2.5-register-keyword.patch b/x11-libs/agg/files/agg-2.5-register-keyword.patch
new file mode 100644
index 000000000000..b3e7cf138b78
--- /dev/null
+++ b/x11-libs/agg/files/agg-2.5-register-keyword.patch
@@ -0,0 +1,70 @@
+https://bugs.gentoo.org/894708
+
+--- a/include/agg_basics.h
++++ b/include/agg_basics.h
+@@ -212,7 +212,7 @@
+ {
+ AGG_INLINE static unsigned mul(unsigned a, unsigned b)
+ {
+- register unsigned q = a * b + (1 << (Shift-1));
++ unsigned q = a * b + (1 << (Shift-1));
+ return (q + (q >> Shift)) >> Shift;
+ }
+ };
+--- a/include/agg_image_accessors.h
++++ b/include/agg_image_accessors.h
+@@ -183,8 +183,8 @@
+ private:
+ AGG_INLINE const int8u* pixel() const
+ {
+- register int x = m_x;
+- register int y = m_y;
++ int x = m_x;
++ int y = m_y;
+ if(x < 0) x = 0;
+ if(y < 0) y = 0;
+ if(x >= (int)m_pixf->width()) x = m_pixf->width() - 1;
+--- a/include/agg_trans_affine.h
++++ b/include/agg_trans_affine.h
+@@ -299,7 +299,7 @@
+ //------------------------------------------------------------------------
+ inline void trans_affine::transform(double* x, double* y) const
+ {
+- register double tmp = *x;
++ double tmp = *x;
+ *x = tmp * sx + *y * shx + tx;
+ *y = tmp * shy + *y * sy + ty;
+ }
+@@ -307,7 +307,7 @@
+ //------------------------------------------------------------------------
+ inline void trans_affine::transform_2x2(double* x, double* y) const
+ {
+- register double tmp = *x;
++ double tmp = *x;
+ *x = tmp * sx + *y * shx;
+ *y = tmp * shy + *y * sy;
+ }
+@@ -315,9 +315,9 @@
+ //------------------------------------------------------------------------
+ inline void trans_affine::inverse_transform(double* x, double* y) const
+ {
+- register double d = determinant_reciprocal();
+- register double a = (*x - tx) * d;
+- register double b = (*y - ty) * d;
++ double d = determinant_reciprocal();
++ double a = (*x - tx) * d;
++ double b = (*y - ty) * d;
+ *x = a * sy - b * shx;
+ *y = b * sx - a * shy;
+ }
+--- a/src/platform/win32/agg_platform_support.cpp
++++ b/src/platform/win32/agg_platform_support.cpp
+@@ -1303,7 +1303,7 @@
+ tok.len = 0;
+ if(m_src_string == 0 || m_start == -1) return tok;
+
+- register const char *pstr = m_src_string + m_start;
++ const char *pstr = m_src_string + m_start;
+
+ if(*pstr == 0)
+ {