diff --git a/srcpkgs/libglvnd-devel b/srcpkgs/libglvnd-devel new file mode 120000 index 0000000000..8a75fdd4b5 --- /dev/null +++ b/srcpkgs/libglvnd-devel @@ -0,0 +1 @@ +libglvnd \ No newline at end of file diff --git a/srcpkgs/libglvnd/files/LICENSE b/srcpkgs/libglvnd/files/LICENSE new file mode 100644 index 0000000000..57bc4f48f8 --- /dev/null +++ b/srcpkgs/libglvnd/files/LICENSE @@ -0,0 +1,26 @@ +Copyright (c) 2013, NVIDIA CORPORATION. + +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 +unaltered in all copies or substantial portions of the Materials. +Any additions, deletions, or changes to the original source files +must be clearly indicated in accompanying documentation. + +If only executable code is distributed, then the accompanying +documentation must state that "this software is based in part on the +work of the Khronos Group." + +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. \ No newline at end of file diff --git a/srcpkgs/libglvnd/patches/0001-Add-a-configure-option-to-disable-glesv1-or-glesv2.patch b/srcpkgs/libglvnd/patches/0001-Add-a-configure-option-to-disable-glesv1-or-glesv2.patch new file mode 100644 index 0000000000..4a7d4353f1 --- /dev/null +++ b/srcpkgs/libglvnd/patches/0001-Add-a-configure-option-to-disable-glesv1-or-glesv2.patch @@ -0,0 +1,122 @@ +From 3a1fb32c3b2ba0bc28952759c33dc98bb5260125 Mon Sep 17 00:00:00 2001 +From: Laurent Carlier +Date: Tue, 8 Oct 2019 16:34:16 +0000 +Subject: [PATCH] Add a configure option to disable glesv1 or glesv2 + +Because mesa can be built without glesv1 so it breaks autodetection. + +Fixes: https://bugs.archlinux.org/task/64032 ('mesa-demos doesn't build, unable to find GLES/gl.h') +--- + configure.ac | 23 +++++++++++++++-------- + include/Makefile.am | 24 ++++++++++++++++++------ + src/Makefile.am | 4 +++- + 3 files changed, 36 insertions(+), 15 deletions(-) + +diff --git a/configure.ac b/configure.ac +index faa0379..eb68d3b 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -70,13 +70,19 @@ if test "x$enable_x11" != "xyes" -a "x$enable_glx" = "xyes" ; then + AC_MSG_ERROR([Can't build GLX without X11.]) + fi + +-AC_ARG_ENABLE([gles], +- [AS_HELP_STRING([--disable-gles], +- [Do not build the libGLES*.so libraries @<:@default=enabled@:>@])], +- [enable_gles="$enableval"], +- [enable_gles=yes] +-) +-AM_CONDITIONAL([ENABLE_GLES], [test "x$enable_gles" = "xyes"]) ++AC_ARG_ENABLE([gles1], ++ [AS_HELP_STRING([--disable-gles1], ++ [disable support for OpenGL ES 1.x API @<:@default=enabled@:>@])], ++ [enable_gles1="$enableval"], ++ [enable_gles1=yes]) ++AM_CONDITIONAL([ENABLE_GLES1], [test "x$enable_gles1" = "xyes"]) ++ ++AC_ARG_ENABLE([gles2], ++ [AS_HELP_STRING([--disable-gles2], ++ [disable support for OpenGL ES 2.x and 3.x API @<:@default=enabled@:>@])], ++ [enable_gles2="$enableval"], ++ [enable_gles2=yes]) ++AM_CONDITIONAL([ENABLE_GLES2], [test "x$enable_gles2" = "xyes"]) + + AC_ARG_ENABLE([headers], + [AS_HELP_STRING([--disable-headers], +@@ -87,7 +93,8 @@ AC_ARG_ENABLE([headers], + AM_CONDITIONAL([ENABLE_GL_HEADERS], [test "x$enable_headers" = "xyes"]) + AM_CONDITIONAL([ENABLE_EGL_HEADERS], [test "x$enable_headers" = "xyes" -a "x$enable_egl" = "xyes"]) + AM_CONDITIONAL([ENABLE_GLX_HEADERS], [test "x$enable_headers" = "xyes" -a "x$enable_glx" = "xyes"]) +-AM_CONDITIONAL([ENABLE_GLES_HEADERS], [test "x$enable_headers" = "xyes" -a "x$enable_gles" = "xyes"]) ++AM_CONDITIONAL([ENABLE_GLES1_HEADERS], [test "x$enable_headers" = "xyes" -a "x$enable_gles1" = "xyes"]) ++AM_CONDITIONAL([ENABLE_GLES2_HEADERS], [test "x$enable_headers" = "xyes" -a "x$enable_gles2" = "xyes"]) + + dnl + dnl Arch/platform-specific settings. Copied from mesa +diff --git a/include/Makefile.am b/include/Makefile.am +index 3d81d17..0c41dc7 100644 +--- a/include/Makefile.am ++++ b/include/Makefile.am +@@ -17,14 +17,18 @@ GL_HEADER_FILES = \ + GL/glext.h \ + KHR/khrplatform.h + +-GLES_HEADER_FILES = \ ++GLES1_HEADER_FILES = \ + GLES/egl.h \ + GLES/gl.h \ + GLES/glext.h \ +- GLES/glplatform.h \ ++ GLES/glplatform.h ++ ++GLES2_HEADER_FILES = \ + GLES2/gl2ext.h \ + GLES2/gl2.h \ +- GLES2/gl2platform.h \ ++ GLES2/gl2platform.h ++ ++GLES3_HEADER_FILES = \ + GLES3/gl31.h \ + GLES3/gl32.h \ + GLES3/gl3.h \ +@@ -45,10 +49,18 @@ else + noinst_HEADERS += $(GL_HEADER_FILES) + endif + +-if ENABLE_GLES_HEADERS +-nobase_include_HEADERS += $(GLES_HEADER_FILES) ++if ENABLE_GLES1_HEADERS ++nobase_include_HEADERS += $(GLES1_HEADER_FILES) ++else ++noinst_HEADERS += $(GLES1_HEADER_FILES) ++endif ++ ++if ENABLE_GLES2_HEADERS ++nobase_include_HEADERS += $(GLES2_HEADER_FILES) ++nobase_include_HEADERS += $(GLES3_HEADER_FILES) + else +-noinst_HEADERS += $(GLES_HEADER_FILES) ++noinst_HEADERS += $(GLES2_HEADER_FILES) ++noinst_HEADERS += $(GLES3_HEADER_FILES) + endif + + if ENABLE_GLX_HEADERS +diff --git a/src/Makefile.am b/src/Makefile.am +index 5f7ce79..821346f 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -12,8 +12,10 @@ SUBDIRS += GLX + SUBDIRS += GL + endif + +-if ENABLE_GLES ++if ENABLE_GLES1 + SUBDIRS += GLESv1 ++endif ++if ENABLE_GLES2 + SUBDIRS += GLESv2 + endif + +-- +2.23.0 + diff --git a/srcpkgs/libglvnd/patches/EGL-Set-EGL_NO_X11-macro.patch b/srcpkgs/libglvnd/patches/EGL-Set-EGL_NO_X11-macro.patch new file mode 100644 index 0000000000..51b8fd7b40 --- /dev/null +++ b/srcpkgs/libglvnd/patches/EGL-Set-EGL_NO_X11-macro.patch @@ -0,0 +1,100 @@ +From 158cd95a086398b60310227f2feca31838576750 Mon Sep 17 00:00:00 2001 +From: Kyle Brenneman +Date: Fri, 18 Oct 2019 09:30:30 -0600 +Subject: [PATCH 1/2] EGL: Set EGL_NO_X11 macro if --disable-x11 is used. + +Change the configure script so that it will set the macro EGL_NO_X11 if X11 is +disabled instead of setting USE_X11 if X11 is enabled. + +Using EGL_NO_X11 means that EGL/eglplatform.h won't try to include the Xlib +headers. +--- + configure.ac | 6 +++--- + src/EGL/libegl.c | 8 ++++---- + 2 files changed, 7 insertions(+), 7 deletions(-) + +diff --git a/configure.ac b/configure.ac +index eb68d3b..ebe497c 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -174,10 +174,10 @@ dnl + dnl Checks for libraries. + AX_PTHREAD() + +-if test "x$enable_x11" = "xyes" ; then ++if test "x$enable_x11" != "xyes" ; then + PKG_CHECK_MODULES([X11], [x11]) +- AC_DEFINE([USE_X11], 1, +- [Define to 1 if X11 support is enabled.]) ++ AC_DEFINE([EGL_NO_X11], 1, ++ [Define to 1 if X11 support is disabled.]) + fi + if test "x$enable_glx" = "xyes" ; then + PKG_CHECK_MODULES([XEXT], [xext]) +diff --git a/src/EGL/libegl.c b/src/EGL/libegl.c +index 5f742cb..c0e4dd8 100644 +--- a/src/EGL/libegl.c ++++ b/src/EGL/libegl.c +@@ -36,7 +36,7 @@ + #include + #include + +-#if defined(USE_X11) ++#if !defined(EGL_NO_X11) + #include + #endif + +@@ -180,7 +180,7 @@ static EGLBoolean IsGbmDisplay(void *native_display) + + static EGLBoolean IsX11Display(void *dpy) + { +-#if defined(USE_X11) ++#if !defined(EGL_NO_X11) + void *alloc; + void *handle; + void *XAllocID = NULL; +@@ -197,9 +197,9 @@ static EGLBoolean IsX11Display(void *dpy) + } + + return (XAllocID != NULL && XAllocID == alloc); +-#else // defined(USE_X11) ++#else // !defined(EGL_NO_X11) + return EGL_FALSE; +-#endif // defined(USE_X11) ++#endif // !defined(EGL_NO_X11) + } + + static EGLBoolean IsWaylandDisplay(void *native_display) +-- +2.22.0 + + +From 0b09d6222265be115d3102348b5da68ae0e92f77 Mon Sep 17 00:00:00 2001 +From: Kyle Brenneman +Date: Sat, 19 Oct 2019 08:38:25 -0600 +Subject: [PATCH 2/2] configure: Fix the pkg-config check for Xlib. + +Fix an error in the previous commit so that the configure script runs +pkg-config for x11 when it's enabled, not when it's disabled. +--- + configure.ac | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index ebe497c..31188b9 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -174,8 +174,9 @@ dnl + dnl Checks for libraries. + AX_PTHREAD() + +-if test "x$enable_x11" != "xyes" ; then ++if test "x$enable_x11" = "xyes" ; then + PKG_CHECK_MODULES([X11], [x11]) ++else + AC_DEFINE([EGL_NO_X11], 1, + [Define to 1 if X11 support is disabled.]) + fi +-- +2.22.0 + diff --git a/srcpkgs/libglvnd/patches/egl-sync-with-khronos.patch b/srcpkgs/libglvnd/patches/egl-sync-with-khronos.patch new file mode 100644 index 0000000000..9f048e44ae --- /dev/null +++ b/srcpkgs/libglvnd/patches/egl-sync-with-khronos.patch @@ -0,0 +1,42 @@ +diff --git a/include/EGL/eglplatform.h b/include/EGL/eglplatform.h +index 29ab288b57eb6ccce0476f0e76c8b4da94225091..5ab49c1d4ea4564cc5d94a2a7ffa842ac6b3eeb1 100644 +--- a/include/EGL/eglplatform.h ++++ b/include/EGL/eglplatform.h +@@ -116,6 +116,12 @@ 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) */ +diff --git a/src/generate/xml/egl.xml b/src/generate/xml/egl.xml +index c27f1726b677f311d792a136e86c5e01ae467e5f..6bc2ea2886aaf628d9741a7de2629bd8e38f37c8 100644 +--- a/src/generate/xml/egl.xml ++++ b/src/generate/xml/egl.xml +@@ -1002,6 +1002,9 @@ + + + ++ ++ ++ + + +- +- ++ ++ + + + diff --git a/srcpkgs/libglvnd/patches/update-gl-h-to-match-mesa.patch b/srcpkgs/libglvnd/patches/update-gl-h-to-match-mesa.patch new file mode 100644 index 0000000000..9e1f26a620 --- /dev/null +++ b/srcpkgs/libglvnd/patches/update-gl-h-to-match-mesa.patch @@ -0,0 +1,245 @@ +From 5dfdc5a6dc60a3bdc63cd4510dabacba388da13a Mon Sep 17 00:00:00 2001 +From: Kyle Brenneman +Date: Tue, 22 Oct 2019 16:46:09 -0600 +Subject: [PATCH] Update GL/gl.h to match Mesa. + +Updated GL/gl.h to match the copy from Mesa at commit +a0829cf23b307ca44ab8c4505974fb7c8d71a35a. +--- + include/GL/gl.h | 147 ++++++------------------------------------------ + 1 file changed, 17 insertions(+), 130 deletions(-) + +diff --git a/include/GL/gl.h b/include/GL/gl.h +index 3f8cb62..2518dfb 100644 +--- a/include/GL/gl.h ++++ b/include/GL/gl.h +@@ -27,40 +27,24 @@ + #ifndef __gl_h_ + #define __gl_h_ + +-#if defined(USE_MGL_NAMESPACE) +-#include "gl_mangle.h" +-#endif +- +- + /********************************************************************** +- * Begin system-specific stuff. Do not do any of this when building +- * for SciTech SNAP, as this is all done before this header file is +- * included. ++ * Begin system-specific stuff. + */ +-#if !defined(__SCITECH_SNAP__) +- +-#if defined(__BEOS__) +-#include /* to get some BeOS-isms */ +-#endif +- +-#if !defined(OPENSTEP) && (defined(NeXT) || defined(NeXT_PDO)) +-#define OPENSTEP +-#endif + + #if defined(_WIN32) && !defined(__WIN32__) && !defined(__CYGWIN__) + #define __WIN32__ + #endif + +-#if !defined(OPENSTEP) && (defined(__WIN32__) && !defined(__CYGWIN__)) ++#if defined(__WIN32__) && !defined(__CYGWIN__) + # if (defined(_MSC_VER) || defined(__MINGW32__)) && defined(BUILD_GL32) /* tag specify we're building mesa as a DLL */ + # define GLAPI __declspec(dllexport) + # elif (defined(_MSC_VER) || defined(__MINGW32__)) && defined(_DLL) /* tag specifying we're building for DLL runtime support */ + # define GLAPI __declspec(dllimport) + # else /* for use with static link lib build of Win32 edition only */ + # define GLAPI extern +-# endif /* _STATIC_MESA support */ ++# endif + # if defined(__MINGW32__) && defined(GL_NO_STDCALL) || defined(UNDER_CE) /* The generated DLLs by MingW with STDCALL are not compatible with the ones done by Microsoft's compilers */ +-# define GLAPIENTRY ++# define GLAPIENTRY + # else + # define GLAPIENTRY __stdcall + # endif +@@ -72,10 +56,6 @@ + # define GLAPIENTRY + #endif /* WIN32 && !CYGWIN */ + +-#if (defined(__BEOS__) && defined(__POWERPC__)) || defined(__QUICKDRAW__) +-# define PRAGMA_EXPORT_SUPPORTED 1 +-#endif +- + /* + * WINDOWS: Include windows.h here to define APIENTRY. + * It is also useful when applications include this file by +@@ -91,10 +71,6 @@ + #include + #endif + +-#if defined(macintosh) && PRAGMA_IMPORT_SUPPORTED +-#pragma import on +-#endif +- + #ifndef GLAPI + #define GLAPI extern + #endif +@@ -116,15 +92,6 @@ + #define GLAPIENTRYP GLAPIENTRY * + #endif + +-#ifdef CENTERLINE_CLPP +-#define signed +-#endif +- +-#if defined(PRAGMA_EXPORT_SUPPORTED) +-#pragma export on +-#endif +- +-#endif /* !__SCITECH_SNAP__ */ + /* + * End system-specific stuff. + **********************************************************************/ +@@ -718,7 +685,7 @@ typedef double GLclampd; /* double precision float in [0,1] */ + #define GL_LIST_BIT 0x00020000 + #define GL_TEXTURE_BIT 0x00040000 + #define GL_SCISSOR_BIT 0x00080000 +-#define GL_ALL_ATTRIB_BITS 0x000FFFFF ++#define GL_ALL_ATTRIB_BITS 0xFFFFFFFF + + + /* OpenGL 1.1 */ +@@ -1738,6 +1705,7 @@ GLAPI void GLAPIENTRY glGetSeparableFilter( GLenum target, GLenum format, + + + ++ + /* + * OpenGL 1.3 + */ +@@ -2085,26 +2053,6 @@ typedef void (APIENTRYP PFNGLMULTITEXCOORD4SVARBPROC) (GLenum target, const GLsh + + + +-#if GL_ARB_shader_objects +- +-#ifndef GL_MESA_shader_debug +-#define GL_MESA_shader_debug 1 +- +-#define GL_DEBUG_OBJECT_MESA 0x8759 +-#define GL_DEBUG_PRINT_MESA 0x875A +-#define GL_DEBUG_ASSERT_MESA 0x875B +- +-GLAPI GLhandleARB GLAPIENTRY glCreateDebugObjectMESA (void); +-GLAPI void GLAPIENTRY glClearDebugLogMESA (GLhandleARB obj, GLenum logType, GLenum shaderType); +-GLAPI void GLAPIENTRY glGetDebugLogMESA (GLhandleARB obj, GLenum logType, GLenum shaderType, GLsizei maxLength, +- GLsizei *length, GLcharARB *debugLog); +-GLAPI GLsizei GLAPIENTRY glGetDebugLogLengthMESA (GLhandleARB obj, GLenum logType, GLenum shaderType); +- +-#endif /* GL_MESA_shader_debug */ +- +-#endif /* GL_ARB_shader_objects */ +- +- + /* + * ???. GL_MESA_packed_depth_stencil + * XXX obsolete +@@ -2121,60 +2069,6 @@ GLAPI GLsizei GLAPIENTRY glGetDebugLogLengthMESA (GLhandleARB obj, GLenum logTyp + #endif /* GL_MESA_packed_depth_stencil */ + + +-#ifndef GL_MESA_program_debug +-#define GL_MESA_program_debug 1 +- +-#define GL_FRAGMENT_PROGRAM_POSITION_MESA 0x8bb0 +-#define GL_FRAGMENT_PROGRAM_CALLBACK_MESA 0x8bb1 +-#define GL_FRAGMENT_PROGRAM_CALLBACK_FUNC_MESA 0x8bb2 +-#define GL_FRAGMENT_PROGRAM_CALLBACK_DATA_MESA 0x8bb3 +-#define GL_VERTEX_PROGRAM_POSITION_MESA 0x8bb4 +-#define GL_VERTEX_PROGRAM_CALLBACK_MESA 0x8bb5 +-#define GL_VERTEX_PROGRAM_CALLBACK_FUNC_MESA 0x8bb6 +-#define GL_VERTEX_PROGRAM_CALLBACK_DATA_MESA 0x8bb7 +- +-typedef void (*GLprogramcallbackMESA)(GLenum target, GLvoid *data); +- +-GLAPI void GLAPIENTRY glProgramCallbackMESA(GLenum target, GLprogramcallbackMESA callback, GLvoid *data); +- +-GLAPI void GLAPIENTRY glGetProgramRegisterfvMESA(GLenum target, GLsizei len, const GLubyte *name, GLfloat *v); +- +-#endif /* GL_MESA_program_debug */ +- +- +-#ifndef GL_MESA_texture_array +-#define GL_MESA_texture_array 1 +- +-/* GL_MESA_texture_array uses the same enum values as GL_EXT_texture_array. +- */ +-#ifndef GL_EXT_texture_array +- +-#ifdef GL_GLEXT_PROTOTYPES +-GLAPI void APIENTRY glFramebufferTextureLayerEXT(GLenum target, +- GLenum attachment, GLuint texture, GLint level, GLint layer); +-#endif /* GL_GLEXT_PROTOTYPES */ +- +-#if 0 +-/* (temporarily) disabled because of collision with typedef in glext.h +- * that happens if apps include both gl.h and glext.h +- */ +-typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC) (GLenum target, +- GLenum attachment, GLuint texture, GLint level, GLint layer); +-#endif +- +-#define GL_TEXTURE_1D_ARRAY_EXT 0x8C18 +-#define GL_PROXY_TEXTURE_1D_ARRAY_EXT 0x8C19 +-#define GL_TEXTURE_2D_ARRAY_EXT 0x8C1A +-#define GL_PROXY_TEXTURE_2D_ARRAY_EXT 0x8C1B +-#define GL_TEXTURE_BINDING_1D_ARRAY_EXT 0x8C1C +-#define GL_TEXTURE_BINDING_2D_ARRAY_EXT 0x8C1D +-#define GL_MAX_ARRAY_TEXTURE_LAYERS_EXT 0x88FF +-#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT 0x8CD4 +-#endif +- +-#endif +- +- + #ifndef GL_ATI_blend_equation_separate + #define GL_ATI_blend_equation_separate 1 + +@@ -2186,27 +2080,20 @@ typedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEATIPROC) (GLenum modeRGB, GLen + #endif /* GL_ATI_blend_equation_separate */ + + +-/** +- ** NOTE!!!!! If you add new functions to this file, or update +- ** glext.h be sure to regenerate the gl_mangle.h file. See comments +- ** in that file for details. +- **/ +- +- +- +-/********************************************************************** +- * Begin system-specific stuff +- */ +-#if defined(PRAGMA_EXPORT_SUPPORTED) +-#pragma export off ++/* GL_OES_EGL_image */ ++#if !defined(GL_OES_EGL_image) && !defined(GL_EXT_EGL_image_storage) ++typedef void* GLeglImageOES; + #endif + +-#if defined(macintosh) && PRAGMA_IMPORT_SUPPORTED +-#pragma import off ++#ifndef GL_OES_EGL_image ++#define GL_OES_EGL_image 1 ++#ifdef GL_GLEXT_PROTOTYPES ++GLAPI void APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image); ++GLAPI void APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image); ++#endif ++typedef void (APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image); ++typedef void (APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image); + #endif +-/* +- * End system-specific stuff +- **********************************************************************/ + + + #ifdef __cplusplus +-- +2.22.0 + diff --git a/srcpkgs/libglvnd/template b/srcpkgs/libglvnd/template new file mode 100644 index 0000000000..18ea6b33c6 --- /dev/null +++ b/srcpkgs/libglvnd/template @@ -0,0 +1,42 @@ +# Template file for 'libglvnd' +pkgname=libglvnd +version=1.2.0 +revision=1 +wrksrc="libglvnd-v${version}" +build_style=gnu-configure +hostmakedepends="autoconf libtool automake pkg-config python" +makedepends="libXext-devel libX11-devel xorgproto" +short_desc="GL Vendor-Neutral Dispatch library" +maintainer="Stefano Ragni " +license="custom" +homepage="https://gitlab.freedesktop.org/glvnd/libglvnd" +distfiles="https://gitlab.freedesktop.org/glvnd/libglvnd/-/archive/v${version}/libglvnd-v${version}.tar.gz" +checksum=56510b6c73d69a6e577490ecc52471ff6e301f17b868afc395090c934eda2b6c +patch_args="-Np1" + +provides="libGL-7.11_1 libEGL-7.11_1 libGLES-7.11_1" +replaces="libGL>=0 libEGL>=0 libGLES>=0" + +# Disable TLS with musl: https://bugs.freedesktop.org/show_bug.cgi?id=35268 +case "$XBPS_TARGET_MACHINE" in + *-musl) configure_args="--disable-tls" +esac + +pre_configure() { + ./autogen.sh +} + +post_install() { + vlicense ${FILESDIR}/LICENSE +} + +libglvnd-devel_package() { + depends="${makedepends} ${sourcepkg}-${version}_${revision}" + conflicts="MesaLib-devel<19.2.5_2" + short_desc+=" - development files" + pkg_install() { + vmove usr/include + vmove usr/lib/pkgconfig + vmove "usr/lib/*.so" + } +}