summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2024-11-17 01:17:23 +0000
committerSam James <sam@gentoo.org>2024-11-17 01:17:23 +0000
commita97f88a3641ce086c6f8e00f276a9760b1b9bfb8 (patch)
tree9bb69db83b036566c9768400867a28e1d22c1a70 /media-libs
parentsys-apps/bubblewrap: add 0.11.0 (diff)
downloadgentoo-a97f88a3641ce086c6f8e00f276a9760b1b9bfb8.tar.gz
gentoo-a97f88a3641ce086c6f8e00f276a9760b1b9bfb8.tar.bz2
gentoo-a97f88a3641ce086c6f8e00f276a9760b1b9bfb8.zip
media-libs/freeglut: fix build w/ C23
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'media-libs')
-rw-r--r--media-libs/freeglut/files/freeglut-3.6.0-c23.patch27
-rw-r--r--media-libs/freeglut/freeglut-3.6.0-r1.ebuild46
2 files changed, 73 insertions, 0 deletions
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 <sam@gentoo.org>
+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
+}