public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/python-glad] f43: Backport missing eglplatform.h (rhbz#2512539)
@ 2026-08-08  4:18 Elliott Sales de Andrade
  0 siblings, 0 replies; only message in thread
From: Elliott Sales de Andrade @ 2026-08-08  4:18 UTC (permalink / raw)
  To: git-commits

A new commit has been pushed.

Repo   : rpms/python-glad
Branch : f43
Commit : 5c7cd4894024e4141933c52fed462cfc312cc410
Author : Elliott Sales de Andrade <quantum.analyst@gmail.com>
Date   : 2026-08-07T22:02:22-04:00
Stats  : +192/-2 in 2 file(s)
URL    : https://src.fedoraproject.org/rpms/python-glad/c/5c7cd4894024e4141933c52fed462cfc312cc410?branch=f43

Log:
Backport missing eglplatform.h (rhbz#2512539)

---
diff --git a/ea756f7cc5e11dcef3cafdab87d45b3b528c875d.patch b/ea756f7cc5e11dcef3cafdab87d45b3b528c875d.patch
new file mode 100644
index 0000000..a03ff2c
--- /dev/null
+++ b/ea756f7cc5e11dcef3cafdab87d45b3b528c875d.patch
@@ -0,0 +1,186 @@
+From ea756f7cc5e11dcef3cafdab87d45b3b528c875d Mon Sep 17 00:00:00 2001
+From: Gregor Burger <gregor.burger@bhs-technologies.com>
+Date: Fri, 18 Mar 2022 09:35:11 +0100
+Subject: [PATCH] glad: add eglplatform.h for reproducible builds that includes
+ egl
+
+---
+ glad/files/eglplatform.h | 169 +++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 169 insertions(+)
+ create mode 100644 glad/files/eglplatform.h
+
+diff --git a/glad/files/eglplatform.h b/glad/files/eglplatform.h
+new file mode 100644
+index 00000000..99362a23
+--- /dev/null
++++ b/glad/files/eglplatform.h
+@@ -0,0 +1,169 @@
++#ifndef __eglplatform_h_
++#define __eglplatform_h_
++
++/*
++** Copyright 2007-2020 The Khronos Group Inc.
++** SPDX-License-Identifier: Apache-2.0
++*/
++
++/* Platform-specific types and definitions for egl.h
++ *
++ * Adopters may modify khrplatform.h and this file to suit their platform.
++ * You are encouraged to submit all modifications to the Khronos group so that
++ * they can be included in future versions of this file.  Please submit changes
++ * by filing an issue or pull request on the public Khronos EGL Registry, at
++ * https://www.github.com/KhronosGroup/EGL-Registry/
++ */
++
++#include <KHR/khrplatform.h>
++
++/* Macros used in EGL function prototype declarations.
++ *
++ * EGL functions should be prototyped as:
++ *
++ * EGLAPI return-type EGLAPIENTRY eglFunction(arguments);
++ * typedef return-type (EXPAPIENTRYP PFNEGLFUNCTIONPROC) (arguments);
++ *
++ * KHRONOS_APICALL and KHRONOS_APIENTRY are defined in KHR/khrplatform.h
++ */
++
++#ifndef EGLAPI
++#define EGLAPI KHRONOS_APICALL
++#endif
++
++#ifndef EGLAPIENTRY
++#define EGLAPIENTRY  KHRONOS_APIENTRY
++#endif
++#define EGLAPIENTRYP EGLAPIENTRY*
++
++/* The types NativeDisplayType, NativeWindowType, and NativePixmapType
++ * are aliases of window-system-dependent types, such as X Display * or
++ * Windows Device Context. They must be defined in platform-specific
++ * code below. The EGL-prefixed versions of Native*Type are the same
++ * types, renamed in EGL 1.3 so all types in the API start with "EGL".
++ *
++ * Khronos STRONGLY RECOMMENDS that you use the default definitions
++ * provided below, since these changes affect both binary and source
++ * portability of applications using EGL running on different EGL
++ * implementations.
++ */
++
++#if defined(EGL_NO_PLATFORM_SPECIFIC_TYPES)
++
++typedef void *EGLNativeDisplayType;
++typedef void *EGLNativePixmapType;
++typedef void *EGLNativeWindowType;
++
++#elif defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */
++#ifndef WIN32_LEAN_AND_MEAN
++#define WIN32_LEAN_AND_MEAN 1
++#endif
++#include <windows.h>
++
++typedef HDC     EGLNativeDisplayType;
++typedef HBITMAP EGLNativePixmapType;
++typedef HWND    EGLNativeWindowType;
++
++#elif defined(__EMSCRIPTEN__)
++
++typedef int EGLNativeDisplayType;
++typedef int EGLNativePixmapType;
++typedef int EGLNativeWindowType;
++
++#elif defined(__WINSCW__) || defined(__SYMBIAN32__)  /* Symbian */
++
++typedef int   EGLNativeDisplayType;
++typedef void *EGLNativePixmapType;
++typedef void *EGLNativeWindowType;
++
++#elif defined(WL_EGL_PLATFORM)
++
++typedef struct wl_display     *EGLNativeDisplayType;
++typedef struct wl_egl_pixmap  *EGLNativePixmapType;
++typedef struct wl_egl_window  *EGLNativeWindowType;
++
++#elif defined(__GBM__)
++
++typedef struct gbm_device  *EGLNativeDisplayType;
++typedef struct gbm_bo      *EGLNativePixmapType;
++typedef void               *EGLNativeWindowType;
++
++#elif defined(__ANDROID__) || defined(ANDROID)
++
++struct ANativeWindow;
++struct egl_native_pixmap_t;
++
++typedef void*                           EGLNativeDisplayType;
++typedef struct egl_native_pixmap_t*     EGLNativePixmapType;
++typedef struct ANativeWindow*           EGLNativeWindowType;
++
++#elif defined(USE_OZONE)
++
++typedef intptr_t EGLNativeDisplayType;
++typedef intptr_t EGLNativePixmapType;
++typedef intptr_t EGLNativeWindowType;
++
++#elif defined(USE_X11)
++
++/* X11 (tentative)  */
++#include <X11/Xlib.h>
++#include <X11/Xutil.h>
++
++typedef Display *EGLNativeDisplayType;
++typedef Pixmap   EGLNativePixmapType;
++typedef Window   EGLNativeWindowType;
++
++#elif defined(__unix__)
++
++typedef void             *EGLNativeDisplayType;
++typedef khronos_uintptr_t EGLNativePixmapType;
++typedef khronos_uintptr_t EGLNativeWindowType;
++
++#elif defined(__APPLE__)
++
++typedef int   EGLNativeDisplayType;
++typedef void *EGLNativePixmapType;
++typedef void *EGLNativeWindowType;
++
++#elif defined(__HAIKU__)
++
++#include <kernel/image.h>
++
++typedef void              *EGLNativeDisplayType;
++typedef khronos_uintptr_t  EGLNativePixmapType;
++typedef khronos_uintptr_t  EGLNativeWindowType;
++
++#elif defined(__Fuchsia__)
++
++typedef void              *EGLNativeDisplayType;
++typedef khronos_uintptr_t  EGLNativePixmapType;
++typedef khronos_uintptr_t  EGLNativeWindowType;
++
++#else
++#error "Platform not recognized"
++#endif
++
++/* EGL 1.2 types, renamed for consistency in EGL 1.3 */
++typedef EGLNativeDisplayType NativeDisplayType;
++typedef EGLNativePixmapType  NativePixmapType;
++typedef EGLNativeWindowType  NativeWindowType;
++
++
++/* Define EGLint. This must be a signed integral type large enough to contain
++ * all legal attribute names and values passed into and out of EGL, whether
++ * their type is boolean, bitmask, enumerant (symbolic constant), integer,
++ * handle, or other.  While in general a 32-bit integer will suffice, if
++ * handles are 64 bit types, then EGLint should be defined as a signed 64-bit
++ * integer type.
++ */
++typedef khronos_int32_t EGLint;
++
++
++/* C++ / C typecast macros for special EGL handle values */
++#if defined(__cplusplus)
++#define EGL_CAST(type, value) (static_cast<type>(value))
++#else
++#define EGL_CAST(type, value) ((type) (value))
++#endif
++
++#endif /* __eglplatform_h */

diff --git a/python-glad.spec b/python-glad.spec
index 2b4fb9a..965d657 100644
--- a/python-glad.spec
+++ b/python-glad.spec
@@ -8,7 +8,11 @@ Summary:        Multi-Language GL/GLES/EGL/GLX/WGL Loader-Generator
 # Mostly MIT, Apache-2.0 for Khronos and EGL specifications/headers.
 License:        MIT and Apache-2.0
 URL:            https://github.com/Dav1dde/glad
-Source0:        %pypi_source glad
+Source:         %pypi_source glad
+# Add missing eglplatform.h.
+# https://github.com/Dav1dde/glad/pull/360
+Patch:          https://github.com/Dav1dde/glad/commit/ea756f7cc5e11dcef3cafdab87d45b3b528c875d.patch
+
 BuildArch:      noarch
 
 BuildRequires:  python3-devel
@@ -39,7 +43,7 @@ Loader made for your needs.
 
 
 %prep
-%autosetup -n %{srcname}-%{version}
+%autosetup -n %{srcname}-%{version} -p1
 
 # Fix shebang
 sed -i -e '/^#!\//, 1d' %{srcname}/__main__.py

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2026-08-08  4:18 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-08-08  4:18 [rpms/python-glad] f43: Backport missing eglplatform.h (rhbz#2512539) Elliott Sales de Andrade

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox