From 0192590634594a8f503abd3598cd11685a2c68e2 Mon Sep 17 00:00:00 2001 From: Maxython Date: Fri, 8 Dec 2023 10:08:10 +0300 Subject: [PATCH] gpkg/vulkan-icd-loader: return to original settings experiments with gpkg/mesa new pkgs to gpkg: gpkg/libomxil-bellagio gpkg/libva gpkg/libvdpau gpkg/vulkan-volk gpkg/libepoxy --- gpkg/glslang/build.sh | 4 +- gpkg/glu/build.sh | 6 +- gpkg/libepoxy/build.sh | 8 + gpkg/libglvnd/build.sh | 1 + gpkg/libomxil-bellagio/build.sh | 15 ++ gpkg/libomxil-bellagio/fedora-fixes.patch | 199 ++++++++++++++++++ gpkg/libva/build.sh | 13 ++ gpkg/libvdpau/build.sh | 17 ++ gpkg/mesa-demos/build.sh | 4 - gpkg/mesa/build.sh | 67 +++--- gpkg/mesa/fix-for-anon-file.patch | 4 +- .../gallium-targets-dri-meson-build.patch | 45 +--- gpkg/mesa/osmesa.subpackage.sh | 2 +- gpkg/vulkan-icd-loader/build.sh | 5 + gpkg/vulkan-tools/build.sh | 12 +- gpkg/vulkan-volk/build.sh | 12 ++ 16 files changed, 338 insertions(+), 76 deletions(-) create mode 100644 gpkg/libepoxy/build.sh create mode 100644 gpkg/libomxil-bellagio/build.sh create mode 100644 gpkg/libomxil-bellagio/fedora-fixes.patch create mode 100644 gpkg/libva/build.sh create mode 100644 gpkg/libvdpau/build.sh create mode 100644 gpkg/vulkan-volk/build.sh diff --git a/gpkg/glslang/build.sh b/gpkg/glslang/build.sh index 2b3199d49..9d2e66351 100644 --- a/gpkg/glslang/build.sh +++ b/gpkg/glslang/build.sh @@ -2,9 +2,9 @@ TERMUX_PKG_HOMEPAGE=https://github.com/KhronosGroup/glslang TERMUX_PKG_DESCRIPTION="OpenGL and OpenGL ES shader front end and validator" TERMUX_PKG_LICENSE="BSD" TERMUX_PKG_MAINTAINER="@termux-pacman" -TERMUX_PKG_VERSION="13.1.1" +TERMUX_PKG_VERSION="14.0.0" TERMUX_PKG_SRCURL=https://github.com/KhronosGroup/glslang/archive/refs/tags/${TERMUX_PKG_VERSION}.tar.gz -TERMUX_PKG_SHA256=1c4d0a5a38c8aaf89a2d7e6093be734320599f5a6775b2726beeb05b0c054e66 +TERMUX_PKG_SHA256=80bbb916a23e94ea9cbfb1acb5d1a44a7e0c9613bcf5b5947c03f2273bdc92b0 TERMUX_PKG_DEPENDS="gcc-libs-glibc" TERMUX_PKG_BUILD_DEPENDS="spirv-tools-glibc" TERMUX_PKG_NO_STATICSPLIT=true diff --git a/gpkg/glu/build.sh b/gpkg/glu/build.sh index b876eec85..9babcca56 100644 --- a/gpkg/glu/build.sh +++ b/gpkg/glu/build.sh @@ -3,9 +3,9 @@ TERMUX_PKG_DESCRIPTION="Mesa OpenGL Utility library" TERMUX_PKG_LICENSE="custom" TERMUX_PKG_LICENSE_FILE="LICENSE" TERMUX_PKG_MAINTAINER="@termux-pacman" -TERMUX_PKG_VERSION=9.0.2 -TERMUX_PKG_SRCURL=https://mesa.freedesktop.org/archive/glu/glu-$TERMUX_PKG_VERSION.tar.gz -TERMUX_PKG_SHA256=24effdfb952453cc00e275e1c82ca9787506aba0282145fff054498e60e19a65 +TERMUX_PKG_VERSION=9.0.3 +TERMUX_PKG_SRCURL=https://mesa.freedesktop.org/archive/glu/glu-$TERMUX_PKG_VERSION.tar.xz +TERMUX_PKG_SHA256=bd43fe12f374b1192eb15fe20e45ff456b9bc26ab57f0eee919f96ca0f8a330f TERMUX_PKG_DEPENDS="gcc-libs-glibc, libglvnd-glibc" termux_step_post_get_source() { diff --git a/gpkg/libepoxy/build.sh b/gpkg/libepoxy/build.sh new file mode 100644 index 000000000..3ae102c14 --- /dev/null +++ b/gpkg/libepoxy/build.sh @@ -0,0 +1,8 @@ +TERMUX_PKG_HOMEPAGE=https://github.com/anholt/libepoxy +TERMUX_PKG_DESCRIPTION="Library handling OpenGL function pointer management" +TERMUX_PKG_LICENSE="MIT" +TERMUX_PKG_MAINTAINER="@termux-pacman" +TERMUX_PKG_VERSION=1.5.10 +TERMUX_PKG_SRCURL=https://github.com/anholt/libepoxy/archive/refs/tags/${TERMUX_PKG_VERSION}.tar.gz +TERMUX_PKG_SHA256=a7ced37f4102b745ac86d6a70a9da399cc139ff168ba6b8002b4d8d43c900c15 +TERMUX_PKG_DEPENDS="libglvnd-glibc, libx11-glibc" diff --git a/gpkg/libglvnd/build.sh b/gpkg/libglvnd/build.sh index 3ec47fc98..67d7b4c43 100644 --- a/gpkg/libglvnd/build.sh +++ b/gpkg/libglvnd/build.sh @@ -3,6 +3,7 @@ TERMUX_PKG_DESCRIPTION="The GL Vendor-Neutral Dispatch library" TERMUX_PKG_LICENSE="custom" TERMUX_PKG_MAINTAINER="@termux-pacman" TERMUX_PKG_VERSION="1.7.0" +TERMUX_PKG_REVISION=1 TERMUX_PKG_SRCURL=https://gitlab.freedesktop.org/glvnd/libglvnd/-/archive/v${TERMUX_PKG_VERSION}/libglvnd-v${TERMUX_PKG_VERSION}.tar.gz TERMUX_PKG_SHA256=2b6e15b06aafb4c0b6e2348124808cbd9b291c647299eaaba2e3202f51ff2f3d TERMUX_PKG_DEPENDS="libxext-glibc" diff --git a/gpkg/libomxil-bellagio/build.sh b/gpkg/libomxil-bellagio/build.sh new file mode 100644 index 000000000..c5f57b0fd --- /dev/null +++ b/gpkg/libomxil-bellagio/build.sh @@ -0,0 +1,15 @@ +TERMUX_PKG_HOMEPAGE=http://omxil.sourceforge.net +TERMUX_PKG_DESCRIPTION="An opensource implementation of the OpenMAX Integration Layer API" +TERMUX_PKG_LICENSE="LGPL-3.0" +TERMUX_PKG_MAINTAINER="@termux-pacman" +TERMUX_PKG_VERSION=0.9.3 +TERMUX_PKG_SRCURL=https://downloads.sourceforge.net/project/omxil/omxil/Bellagio%200.9.3/libomxil-bellagio-${TERMUX_PKG_VERSION}.tar.gz +TERMUX_PKG_SHA256=593c0729c8ef8c1467b3bfefcf355ec19a46dd92e31bfc280e17d96b0934d74c +TERMUX_PKG_DEPENDS="glibc" +TERMUX_PKG_BUILD_IN_SRC=true + +termux_step_pre_configure() { + sed -e 's/-Werror//' -i configure.ac + CFLAGS+=' -fcommon' + autoreconf -fiv +} diff --git a/gpkg/libomxil-bellagio/fedora-fixes.patch b/gpkg/libomxil-bellagio/fedora-fixes.patch new file mode 100644 index 000000000..2ae3c3c87 --- /dev/null +++ b/gpkg/libomxil-bellagio/fedora-fixes.patch @@ -0,0 +1,199 @@ +When libomxdynamicloader.so is loaded, it complains that RM_Deinit can't be resolved. +Link explicitly against omxil-bellagio so that ld.so can find the reference. + +Signed-off-by: Qais Yousef + +--- bellagio-0.9.3/src/dynamic_loader/Makefile.am.old 2012-03-23 15:07:47.379021034 +0000 ++++ bellagio-0.9.3/src/dynamic_loader/Makefile.am 2012-03-23 15:08:47.563034818 +0000 +@@ -3,7 +3,7 @@ + omxdynamicloader_LTLIBRARIES = libomxdynamicloader.la + libomxdynamicloader_la_SOURCES = ste_dynamic_component_loader.c ste_dynamic_component_loader.h + +-libomxdynamicloader_la_LDFLAGS = ++libomxdynamicloader_la_LDFLAGS = -L$(abs_top_srcdir)/src/.libs -lomxil-bellagio + libomxdynamicloader_la_CFLAGS = -I$(top_srcdir)/include \ + -I$(top_srcdir)/src \ + -I$(top_srcdir)/src/base \ +Fix dependency issue to allow parallel build + +Signed-off-by: Qais Yousef + +Index: bellagio-0.9.3/src/Makefile.am +=================================================================== +--- bellagio-0.9.3.orig/src/Makefile.am ++++ bellagio-0.9.3/src/Makefile.am +@@ -8,6 +8,7 @@ omxregister_bellagio_SOURCES = omxregist + omxregister_bellagio_CFLAGS = -DOMXILCOMPONENTSPATH=\"$(plugindir)/\" \ + -I$(top_srcdir)/include + omxregister_bellagio_LDFLAGS = -lomxil-bellagio -L$(builddir) ++omxregister_bellagio_DEPENDENCIES = libomxil-bellagio.la + + lib_LTLIBRARIES = libomxil-bellagio.la + libomxil_bellagio_la_SOURCES = component_loader.h \ +We always access globalComponentList[] at indexComponent=-1 which causes a +segfault. Use i as the index instead. + +Signed-off-by: Qais Yousef + +--- bellagio-0.9.3/src/omx_reference_resource_manager.c.old 2012-03-13 10:15:25.743940980 +0000 ++++ bellagio-0.9.3/src/omx_reference_resource_manager.c 2012-03-13 10:18:02.201971009 +0000 +@@ -485,7 +485,6 @@ + OMX_ERRORTYPE RM_removeFromWaitForResource(OMX_COMPONENTTYPE *openmaxStandComp) { + omx_base_component_PrivateType* omx_base_component_Private; + int i = 0; +- int indexComponent = -1; + + DEBUG(DEB_LEV_FUNCTION_NAME, "In %s\n", __func__); + omx_base_component_Private = (omx_base_component_PrivateType*)openmaxStandComp->pComponentPrivate; +@@ -493,16 +492,13 @@ + while(listOfcomponentRegistered[i].component_name != NULL ) { + if (!strcmp(listOfcomponentRegistered[i].component_name, omx_base_component_Private->name)) { + // found component in the list of the resource manager +- removeElemFromList(&globalComponentList[indexComponent], openmaxStandComp); +- break; ++ removeElemFromList(&globalComponentList[i], openmaxStandComp); ++ DEBUG(DEB_LEV_FUNCTION_NAME, "Out of %s\n", __func__); ++ return OMX_ErrorNone; + } + i++; + } +- if (indexComponent <0) { +- // No resource to be handled +- DEBUG(DEB_LEV_ERR, "In %s No resource to be handled\n", __func__); +- return OMX_ErrorNone; +- } +- DEBUG(DEB_LEV_FUNCTION_NAME, "Out of %s\n", __func__); ++ // No resource to be handled ++ DEBUG(DEB_LEV_ERR, "In %s No resource to be handled\n", __func__); + return OMX_ErrorNone; + } + OMX_INDEXTYPE/OMX_INDEXVENDORTYPE in one switch + src/base/omx_base_component.c | 54 ++++++++++++++++++++++------------------- + 1 files changed, 29 insertions(+), 25 deletions(-) +--- a/src/base/omx_base_component.c ++++ a/src/base/omx_base_component.c +@@ -915,14 +915,6 @@ OSCL_EXPORT_REF OSCL_EXPORT_REF OMX_ERRORTYPE omx_base_component_GetParameter( + return OMX_ErrorBadParameter; + } + switch(nParamIndex) { +- case OMX_IndexParameterThreadsID: +- if ((err = checkHeader(ComponentParameterStructure, sizeof(OMX_PARAM_BELLAGIOTHREADS_ID))) != OMX_ErrorNone) { +- break; +- } +- threadID = (OMX_PARAM_BELLAGIOTHREADS_ID *)ComponentParameterStructure; +- threadID->nThreadBufferMngtID = omx_base_component_Private->bellagioThreads->nThreadBufferMngtID; +- threadID->nThreadMessageID = omx_base_component_Private->bellagioThreads->nThreadMessageID; +- break; + case OMX_IndexParamAudioInit: + case OMX_IndexParamVideoInit: + case OMX_IndexParamImageInit: +@@ -988,28 +980,40 @@ OSCL_EXPORT_REF OSCL_EXPORT_REF OMX_ERRORTYPE omx_base_component_GetParameter( + } + } + break; +- case OMX_IndexVendorCompPropTunnelFlags: +- pPropTunnelSetup = (OMX_VENDOR_PROP_TUNNELSETUPTYPE*)ComponentParameterStructure; ++ default: ++ /* additional switch statement for extended OMX_INDEXTYPE */ ++ switch((OMX_INDEXVENDORTYPE) nParamIndex) { ++ case OMX_IndexParameterThreadsID: ++ if ((err = checkHeader(ComponentParameterStructure, sizeof(OMX_PARAM_BELLAGIOTHREADS_ID))) != OMX_ErrorNone) { ++ break; ++ } ++ threadID = (OMX_PARAM_BELLAGIOTHREADS_ID *)ComponentParameterStructure; ++ threadID->nThreadBufferMngtID = omx_base_component_Private->bellagioThreads->nThreadBufferMngtID; ++ threadID->nThreadMessageID = omx_base_component_Private->bellagioThreads->nThreadMessageID; ++ break; ++ case OMX_IndexVendorCompPropTunnelFlags: ++ pPropTunnelSetup = (OMX_VENDOR_PROP_TUNNELSETUPTYPE*)ComponentParameterStructure; + +- if (pPropTunnelSetup->nPortIndex >= (omx_base_component_Private->sPortTypesParam[OMX_PortDomainAudio].nPorts + +- omx_base_component_Private->sPortTypesParam[OMX_PortDomainVideo].nPorts + +- omx_base_component_Private->sPortTypesParam[OMX_PortDomainImage].nPorts + +- omx_base_component_Private->sPortTypesParam[OMX_PortDomainOther].nPorts)) { ++ if (pPropTunnelSetup->nPortIndex >= (omx_base_component_Private->sPortTypesParam[OMX_PortDomainAudio].nPorts + ++ omx_base_component_Private->sPortTypesParam[OMX_PortDomainVideo].nPorts + ++ omx_base_component_Private->sPortTypesParam[OMX_PortDomainImage].nPorts + ++ omx_base_component_Private->sPortTypesParam[OMX_PortDomainOther].nPorts)) { + +- DEBUG(DEB_LEV_ERR,"In %s OMX_IndexVendorCompPropTunnelFlags nPortIndex=%d Line=%d \n", +- __func__,(int)pPropTunnelSetup->nPortIndex,__LINE__); ++ DEBUG(DEB_LEV_ERR,"In %s OMX_IndexVendorCompPropTunnelFlags nPortIndex=%d Line=%d \n", ++ __func__,(int)pPropTunnelSetup->nPortIndex,__LINE__); + +- return OMX_ErrorBadPortIndex; +- } ++ return OMX_ErrorBadPortIndex; ++ } + +- pPort = omx_base_component_Private->ports[pPropTunnelSetup->nPortIndex]; ++ pPort = omx_base_component_Private->ports[pPropTunnelSetup->nPortIndex]; + +- pPropTunnelSetup->nTunnelSetup.nTunnelFlags = pPort->nTunnelFlags; +- pPropTunnelSetup->nTunnelSetup.eSupplier = pPort->eBufferSupplier; +- break; +- default: +- err = OMX_ErrorUnsupportedIndex; +- break; ++ pPropTunnelSetup->nTunnelSetup.nTunnelFlags = pPort->nTunnelFlags; ++ pPropTunnelSetup->nTunnelSetup.eSupplier = pPort->eBufferSupplier; ++ break; ++ default: ++ err = OMX_ErrorUnsupportedIndex; ++ break; ++ } + } + DEBUG(DEB_LEV_FUNCTION_NAME, "Out of %s for component %p\n", __func__, hComponent); + return err; +diff -up libomxil-bellagio-0.9.3/Makefile.am.nodoc libomxil-bellagio-0.9.3/Makefile.am +--- libomxil-bellagio-0.9.3/Makefile.am.nodoc 2011-01-12 08:53:26.000000000 +0100 ++++ libomxil-bellagio-0.9.3/Makefile.am 2012-04-23 13:46:15.410823381 +0200 +@@ -7,7 +7,6 @@ EXTRA_DIST = libomxil-bellagio.spec + pkgconfigdir = $(libdir)/pkgconfig + pkgconfig_DATA = libomxil-bellagio.pc + +-docdir = $(DESTDIR)$(prefix)/share/doc/@PACKAGE@ + doc_DATA = README \ + ChangeLog \ + TODO +diff -up libomxil-bellagio-0.9.3/src/omxregister.c.unused libomxil-bellagio-0.9.3/src/omxregister.c +--- libomxil-bellagio-0.9.3/src/omxregister.c.unused 2011-01-12 08:53:26.000000000 +0100 ++++ libomxil-bellagio-0.9.3/src/omxregister.c 2012-12-10 22:02:28.621695659 +0100 +@@ -248,7 +248,15 @@ static int buildComponentsList(FILE* omx + } + fptr(stComponents); + err = fwrite(lib_absolute_path, 1, strlen(lib_absolute_path), omxregistryfp); +- err = fwrite("\n", 1, 1, omxregistryfp); ++ if (err != strlen(lib_absolute_path)) { ++ DEBUG(DEB_LEV_ERR, "Failed to write %zu bytes to fd %d\n", strlen(lib_absolute_path), fileno(omxregistryfp)); ++ continue; ++ } ++ err = fwrite("\n", 1, strlen(buffer), omxregistryfp); ++ if (err != strlen(buffer)) { ++ DEBUG(DEB_LEV_ERR, "Failed to write %zu bytes to fd %d\n", strlen(buffer), fileno(omxregistryfp)); ++ continue; ++ } + + + for (i = 0; i