[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