commit:     a97f88a3641ce086c6f8e00f276a9760b1b9bfb8
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Nov 17 01:17:23 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Nov 17 01:17:23 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a97f88a3

media-libs/freeglut: fix build w/ C23

Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-libs/freeglut/files/freeglut-3.6.0-c23.patch | 27 +++++++++++++
 media-libs/freeglut/freeglut-3.6.0-r1.ebuild       | 46 ++++++++++++++++++++++
 2 files changed, 73 insertions(+)

diff --git a/media-libs/freeglut/files/freeglut-3.6.0-c23.patch 
b/media-libs/freeglut/files/freeglut-3.6.0-c23.patch
new file mode 100644
index 000000000000..c5cd5ee5dbf3
--- /dev/null
+++ b/media-libs/freeglut/files/freeglut-3.6.0-c23.patch
@@ -0,0 +1,27 @@
+https://github.com/freeglut/freeglut/pull/187
+
+From ca500e65b40267efe7a05ec7ebae1141544c0cfb Mon Sep 17 00:00:00 2001
+From: Sam James <[email protected]>
+Date: Sun, 17 Nov 2024 01:14:26 +0000
+Subject: [PATCH] egl: fix fgPlatformDestroyContext prototype for C23
+
+C23 removes unprototyped functions, so this conflicted with the definition
+in fg_init_x11.c.
+
+Bug: https://github.com/freeglut/freeglut/issues/186
+---
+ src/egl/fg_init_egl.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/egl/fg_init_egl.h b/src/egl/fg_init_egl.h
+index 592c5221d..8753dc0bc 100644
+--- a/src/egl/fg_init_egl.h
++++ b/src/egl/fg_init_egl.h
+@@ -28,6 +28,6 @@
+ 
+ extern void fghPlatformInitializeEGL();
+ extern void fghPlatformCloseDisplayEGL();
+-extern void fgPlatformDestroyContext();
++extern void fgPlatformDestroyContext ( SFG_PlatformDisplay pDisplay, 
SFG_WindowContextType MContext );
+ 
+ #endif

diff --git a/media-libs/freeglut/freeglut-3.6.0-r1.ebuild 
b/media-libs/freeglut/freeglut-3.6.0-r1.ebuild
new file mode 100644
index 000000000000..d21631d891b0
--- /dev/null
+++ b/media-libs/freeglut/freeglut-3.6.0-r1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib
+
+DESCRIPTION="A free OpenGL utility toolkit, the open-sourced alternative to 
the GLUT library"
+HOMEPAGE="https://freeglut.sourceforge.net/";
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz";
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv 
~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+
+# enabling GLES support seems to cause build failures
+RDEPEND=">=virtual/glu-9.0-r1[${MULTILIB_USEDEP}]
+       >=virtual/opengl-7.0-r1[${MULTILIB_USEDEP}]
+       >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
+       >=x11-libs/libXi-1.7.2[${MULTILIB_USEDEP}]
+       >=x11-libs/libXrandr-1.4.2[${MULTILIB_USEDEP}]
+       >=x11-libs/libXxf86vm-1.1.3[${MULTILIB_USEDEP}]"
+# gles? ( media-libs/mesa[egl(+),gles1,gles2,${MULTILIB_USEDEP}] )
+DEPEND="${RDEPEND}
+       x11-base/xorg-proto"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-3.6.0-c23.patch
+)
+
+src_configure() {
+       local mycmakeargs=(
+#              "-DOpenGL_GL_PREFERENCE=GLVND" # bug 721006
+               "-DFREEGLUT_GLES=OFF"
+               "-DFREEGLUT_BUILD_DEMOS=OFF"
+               "-DFREEGLUT_BUILD_STATIC_LIBS=OFF"
+       )
+#      $(cmake-utils_use gles FREEGLUT_GLES)
+       cmake-multilib_src_configure
+}
+
+multilib_src_install() {
+       cmake_src_install
+       cp "${ED}"/usr/$(get_libdir)/pkgconfig/{,free}glut.pc || die
+}

Reply via email to