[packages/cogl] Rel 3

arekm arekm at pld-linux.org
Wed May 20 20:44:10 CEST 2026


commit a5e9a376cf3d4808e422fcd7b144936f7755fe92
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date:   Wed May 20 20:43:53 2026 +0200

    Rel 3

 cogl-gst-init-include.patch | 23 +++++++++++++++++++++++
 cogl-tesselator-casts.patch | 31 +++++++++++++++++++++++++++++++
 cogl.spec                   |  7 ++++++-
 3 files changed, 60 insertions(+), 1 deletion(-)
---
diff --git a/cogl.spec b/cogl.spec
index 3557b2f..eff7255 100644
--- a/cogl.spec
+++ b/cogl.spec
@@ -15,12 +15,14 @@ Summary:	A library for using 3D graphics hardware to draw pretty pictures
 Summary(pl.UTF-8):	Biblioteka do rysowania ładnych obrazków przy użyciu sprzętowej grafiki 3D
 Name:		cogl
 Version:	1.22.8
-Release:	2
+Release:	3
 License:	LGPL v2+
 Group:		Libraries
 Source0:	https://download.gnome.org/sources/cogl/1.22/%{name}-%{version}.tar.xz
 # Source0-md5:	7dd8b2e24171ef7399f851cea144b569
 Patch0:		%{name}-link.patch
+Patch1:		%{name}-tesselator-casts.patch
+Patch2:		%{name}-gst-init-include.patch
 URL:		http://www.clutter-project.org/
 BuildRequires:	EGL-devel
 BuildRequires:	Mesa-libEGL-devel
@@ -236,9 +238,12 @@ Dokumentacja API biblioteki cogl-gst.
 %prep
 %setup -q
 %patch -P0 -p1
+%patch -P1 -p1
+%patch -P2 -p1
 
 %build
 %{__gettextize}
+ls po/*.po 2>/dev/null | sed -e 's,po/,,' -e 's,\.po$,,' | LC_ALL=C sort >po/LINGUAS
 %{__libtoolize}
 %{__aclocal} -I build/autotools
 %{__autoconf}
diff --git a/cogl-gst-init-include.patch b/cogl-gst-init-include.patch
new file mode 100644
index 0000000..60fa42b
--- /dev/null
+++ b/cogl-gst-init-include.patch
@@ -0,0 +1,23 @@
+Declare gst_init() in the g-ir-scanner init section so the generated
+introspection probe compiles under modern GCC (where implicit function
+declarations are a hard error).
+
+Without an explicit declaration the scanner's generated CoglGst-2.0.c
+calls gst_init() with no prototype in scope and fails with:
+  error: implicit declaration of function 'gst_init'
+        [-Wimplicit-function-declaration]
+
+Cannot use "#include <gst/gst.h>" here because '#' starts a comment in
+Makefile.am, so spell out the prototype instead (matches gst/gst.h:65).
+
+--- cogl-1.22.8/cogl-gst/Makefile.am.orig
++++ cogl-1.22.8/cogl-gst/Makefile.am
+@@ -93,7 +93,7 @@
+ 	--c-include="gst/gst.h" \
+ 	--include-uninstalled=$(top_builddir)/cogl/Cogl-2.0.gir \
+ 	--pkg gstreamer-1.0 \
+-	--add-init-section="gst_init(NULL, NULL);"
++	--add-init-section="extern void gst_init(int *argc, char **argv[]); gst_init(NULL, NULL);"
+
+ INTROSPECTION_GIRS += CoglGst-2.0.gir
+
diff --git a/cogl-tesselator-casts.patch b/cogl-tesselator-casts.patch
new file mode 100644
index 0000000..a661f3c
--- /dev/null
+++ b/cogl-tesselator-casts.patch
@@ -0,0 +1,31 @@
+Cast tesselator callbacks to the expected function-pointer type before
+passing to gluTessCallback().
+
+The vendored tesselator.h declares _GLUfuncptr as a function type
+("typedef void (_GLUfuncptr)()") and uses it as a parameter to
+gluTessCallback(), where it decays to "void (*)(void)". GCC 14+ rejects
+the implicit conversion from each typed callback to that generic
+function pointer with -Werror=incompatible-pointer-types. A
+function-type cast like "(_GLUfuncptr)foo" is itself illegal in C, so
+cast through a pointer to that function type: "(_GLUfuncptr *)".
+
+--- cogl-1.22.8/cogl-path/cogl-path.c.orig
++++ cogl-1.22.8/cogl-path/cogl-path.c
+@@ -1358,13 +1358,13 @@
+   gluTessNormal (tess.glu_tess, 0.0, 0.0, 1.0);
+
+   gluTessCallback (tess.glu_tess, GLU_TESS_BEGIN_DATA,
+-                   _cogl_path_tesselator_begin);
++                   (_GLUfuncptr *) _cogl_path_tesselator_begin);
+   gluTessCallback (tess.glu_tess, GLU_TESS_VERTEX_DATA,
+-                   _cogl_path_tesselator_vertex);
++                   (_GLUfuncptr *) _cogl_path_tesselator_vertex);
+   gluTessCallback (tess.glu_tess, GLU_TESS_END_DATA,
+-                   _cogl_path_tesselator_end);
++                   (_GLUfuncptr *) _cogl_path_tesselator_end);
+   gluTessCallback (tess.glu_tess, GLU_TESS_COMBINE_DATA,
+-                   _cogl_path_tesselator_combine);
++                   (_GLUfuncptr *) _cogl_path_tesselator_combine);
+
+   gluTessBeginPolygon (tess.glu_tess, &tess);
+
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/cogl.git/commitdiff/a5e9a376cf3d4808e422fcd7b144936f7755fe92



More information about the pld-cvs-commit mailing list