[notify] libglvnd: Update the GL headers and XML files from the Khronos repository, remove legacy header that is not referenced in the Khronos headers anymore

This commit is contained in:
Danny Rawlins 2022-09-19 23:59:36 +10:00
parent 5c894c9a99
commit 3d45e9c522
3 changed files with 15 additions and 194 deletions

View File

@ -1,7 +1,7 @@
untrusted comment: verify with /etc/ports/xorg.pub
RWTSGWF5Q7TndKyULHVkU90mxKiif/ISvlTESKO8wqZXDEcWzHJ8UBKydxvvUuHHLZPndLiLG+5UizLyRhfAyhu+5aPJMVnHMAE=
SHA256 (Pkgfile) = 6d5ffd009b93efb70f47d1ef5aef650c1b5863aff70c2c28203846c1bf707393
RWTSGWF5Q7TndDP5tsZMphaF20XYRN+vL2jamyBk9h90wcueW5Gyr8hhfMdJ34kEPv9lBm4ot+euWmJ94JcuvQPPgQA1cx3Xdgg=
SHA256 (Pkgfile) = c02c2651424148b4093492220c04938be13c140eb7e5848f502aa39abaed6439
SHA256 (.footprint) = 07003e941903a50550a5a235ec32d6e1aff2dbe44d9406660a15b4fec7b70680
SHA256 (libglvnd-1.5.0.tar.gz) = abdf8229c86358f651e35bdc7cfced0fdf67d0a2acdf9197d08a9732ef7b53bc
SHA256 (eglplatform.h) = fb6f2775ee3f3536de579b232b6bc48261a6678f91ab39bf8a1c1e05dde68d04
SHA256 (fd1df5e9891dec71013a272e7132f1a33e45f5b5.patch) = feea791d9ff07926c2160808223eab676295142616b947607309ca5e9b450a6e
SHA256 (0001-glx-Add-another-fallback-library-name.patch) = 87565356c31b20e60ded9f17ab76d442dd2cd36bfa4214a0de9699c49106ce43

View File

@ -5,18 +5,24 @@
name=libglvnd
version=1.5.0
release=1
source=(https://github.com/NVIDIA/$name/archive/v$version/$name-$version.tar.gz \
eglplatform.h
0001-glx-Add-another-fallback-library-name.patch)
release=2
source=(https://github.com/NVIDIA/$name/archive/v$version/$name-$version.tar.gz
https://gitlab.freedesktop.org/glvnd/libglvnd/-/commit/fd1df5e9891dec71013a272e7132f1a33e45f5b5.patch
0001-glx-Add-another-fallback-library-name.patch)
build() {
#prt-get isinst xorg-libx11 xorg-libxext xorg-xorgproto && PKGMK_GLVND+=' --enable-x11 --enable-glx'; patch -Np1 -d $name-$version -i $SRC/EGL_NO_X11.patch
## for future references
#prt-get isinst xorg-libx11 xorg-libxext xorg-xorgproto && PKGMK_GLVND+=' -D x11=enabled -D glx=enabled'
PKGMK_GLVND+=' -D x11=enabled -D glx=enabled'
# https://src.fedoraproject.org/rpms/libglvnd/tree/rawhide
# https://src.fedoraproject.org/rpms/libglvnd
patch -Np1 -d $name-$version -i $SRC/0001-glx-Add-another-fallback-library-name.patch
# [PATCH] Update GL headers and XML files.
# Update the GL headers and XML files to the Khronos repository, from
# commit 11d7b7baebfc2b58116670cd17266f9c6a0d760b.
patch -p1 -d $name-$version -i $SRC/fd1df5e9891dec71013a272e7132f1a33e45f5b5.patch
meson setup $name-$version build $PKGMK_GLVND \
--prefix=/usr \
--buildtype=plain \
@ -28,7 +34,4 @@ build() {
-D tls=false
meson compile -C build
DESTDIR=$PKG meson install -C build
# replace EGL/eglplatform.h with the newer mesa version
install -m 0644 $SRC/eglplatform.h $PKG/usr/include/EGL/
}

View File

@ -1,182 +0,0 @@
#ifndef __eglplatform_h_
#define __eglplatform_h_
/*
** Copyright (c) 2007-2016 The Khronos Group Inc.
**
** Permission is hereby granted, free of charge, to any person obtaining a
** copy of this software and/or associated documentation files (the
** "Materials"), to deal in the Materials without restriction, including
** without limitation the rights to use, copy, modify, merge, publish,
** distribute, sublicense, and/or sell copies of the Materials, and to
** permit persons to whom the Materials are furnished to do so, subject to
** the following conditions:
**
** The above copyright notice and this permission notice shall be included
** in all copies or substantial portions of the Materials.
**
** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
*/
/* Platform-specific types and definitions for egl.h
* $Revision: 30994 $ on $Date: 2015-04-30 13:36:48 -0700 (Thu, 30 Apr 2015) $
*
* 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 sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla)
* by filing a bug against product "EGL" component "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*
#if defined(MESA_EGL_NO_X11_HEADERS) && !defined(EGL_NO_X11)
#warning "`MESA_EGL_NO_X11_HEADERS` is deprecated, and doesn't work with the unmodified Khronos header"
#warning "Please use `EGL_NO_X11` instead, as `MESA_EGL_NO_X11_HEADERS` will be removed soon"
#define EGL_NO_X11
#endif
/* 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(_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(__unix__) && defined(EGL_NO_X11)
typedef void *EGLNativeDisplayType;
typedef khronos_uintptr_t EGLNativePixmapType;
typedef khronos_uintptr_t EGLNativeWindowType;
#elif defined(__unix__) || defined(USE_X11)
/* X11 (tentative) */
#include <X11/Xlib.h>
#include <X11/Xutil.h>
typedef Display *EGLNativeDisplayType;
typedef Pixmap EGLNativePixmapType;
typedef Window 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;
#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 */