commit: 59d4d2a90596d3dc8b23b4b07e274c0d8517c8b7 Author: Sam James <sam <AT> gentoo <DOT> org> AuthorDate: Mon Sep 23 11:21:26 2024 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Mon Sep 23 11:21:26 2024 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=59d4d2a9
media-libs/ftgl: fix build w/ freetype-2.13.3 Closes: https://bugs.gentoo.org/937849 Thanks-to: konsolebox <konsolebox <AT> gmail.com> Signed-off-by: Sam James <sam <AT> gentoo.org> .../files/ftgl-2.1.3_rc5-freetype-2.13.3.patch | 49 ++++++++++++++++++ media-libs/ftgl/ftgl-2.1.3_rc5-r2.ebuild | 59 ++++++++++++++++++++++ 2 files changed, 108 insertions(+) diff --git a/media-libs/ftgl/files/ftgl-2.1.3_rc5-freetype-2.13.3.patch b/media-libs/ftgl/files/ftgl-2.1.3_rc5-freetype-2.13.3.patch new file mode 100644 index 000000000000..d22b25757fa6 --- /dev/null +++ b/media-libs/ftgl/files/ftgl-2.1.3_rc5-freetype-2.13.3.patch @@ -0,0 +1,49 @@ +https://bugs.gentoo.org/937849 + +--- a/src/FTContour.cpp ++++ b/src/FTContour.cpp +@@ -163,7 +163,7 @@ void FTContour::SetParity(int parity) + } + + +-FTContour::FTContour(FT_Vector* contour, char* tags, unsigned int n) ++FTContour::FTContour(FT_Vector* contour, FTContour::PointTagsType tags, unsigned int n) + { + FTPoint prev, cur(contour[(n - 1) % n]), next(contour[0]); + FTPoint a, b = next - cur; +--- a/src/FTContour.h ++++ b/src/FTContour.h +@@ -44,6 +44,12 @@ + */ + class FTContour + { ++#if (FREETYPE_MAJOR * 1000 + FREETYPE_MINOR) * 1000 + FREETYPE_PATCH < 2013003 ++ typedef char* PointTagsType; ++#else ++ typedef unsigned char* PointTagsType; ++#endif ++ + public: + /** + * Constructor +@@ -52,7 +58,7 @@ class FTContour + * @param pointTags + * @param numberOfPoints + */ +- FTContour(FT_Vector* contour, char* pointTags, unsigned int numberOfPoints); ++ FTContour(FT_Vector* contour, PointTagsType pointTags, unsigned int numberOfPoints); + + /** + * Destructor +--- a/src/FTVectoriser.cpp ++++ b/src/FTVectoriser.cpp +@@ -166,7 +166,7 @@ void FTVectoriser::ProcessContours() + for(int i = 0; i < ftContourCount; ++i) + { + FT_Vector* pointList = &outline.points[startIndex]; +- char* tagList = &outline.tags[startIndex]; ++ auto tagList = &outline.tags[startIndex]; + + endIndex = outline.contours[i]; + contourLength = (endIndex - startIndex) + 1; + diff --git a/media-libs/ftgl/ftgl-2.1.3_rc5-r2.ebuild b/media-libs/ftgl/ftgl-2.1.3_rc5-r2.ebuild new file mode 100644 index 000000000000..0fb8b7874d6b --- /dev/null +++ b/media-libs/ftgl/ftgl-2.1.3_rc5-r2.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic + +MY_PV="${PV/_/-}" +MY_PV2="${PV/_/\~}" +MY_P="${PN}-${MY_PV}" +MY_P2="${PN}-${MY_PV2}" + +DESCRIPTION="library to use arbitrary fonts in OpenGL applications" +HOMEPAGE="https://sourceforge.net/projects/ftgl/" +SRC_URI="https://downloads.sourceforge.net/${PN}/${MY_P}.tar.bz2" +S="${WORKDIR}/${MY_P2}" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" +IUSE="static-libs" + +DEPEND=" + media-libs/freeglut + >=media-libs/freetype-2.0.9 + virtual/opengl + virtual/glu +" +RDEPEND="${DEPEND}" +BDEPEND="virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}"/${P}-gentoo.patch + "${FILESDIR}"/${P}-underlink.patch + "${FILESDIR}"/${P}-freetype_pkgconfig.patch + "${FILESDIR}"/${P}-clang.patch + "${FILESDIR}"/${P}-freetype-2.13.3.patch +) + +src_prepare() { + default + + sed -e "s/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/" -i configure.ac || die + eautoreconf +} + +src_configure() { + strip-flags # ftgl is sensitive - bug #112820 + econf $(use_enable static-libs static) +} + +src_install() { + local DOCS=( AUTHORS BUGS ChangeLog NEWS README TODO docs/projects_using_ftgl.txt) + + default + + rm -r "${ED}"/usr/share/doc/ftgl || die + find "${ED}" -name '*.la' -delete || die +}
