Upgrade: jasper, libglvnd, mesa, mesa-libGLU; Promote: spirv-tools, spirv-headers, freeglut; Add: glslang (#8202)

This commit is contained in:
Vince Perri 2024-03-15 14:16:16 -07:00 коммит произвёл GitHub
Родитель 990197a8f1
Коммит 8b85f07abd
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: B5690EEEBB952194
32 изменённых файлов: 1037 добавлений и 392 удалений

Просмотреть файл

@ -1,5 +0,0 @@
{
"Signatures": {
"spirv-headers-b42ba6d92faf6b4938e6f22ddd186dbdacc98d78.tar.gz": "d58e8e65ea4b4f1e421caaad68f88ce7b713ac3519bd49e7b71b6a5690489eb6"
}
}

Просмотреть файл

@ -1,5 +0,0 @@
{
"Signatures": {
"SPIRV-Tools-2022.1.tar.gz": "844c0f590a0ab9237cec947e27cfc75bd14f39a68fc3b37d8f1b9e1b21490a58"
}
}

2
SPECS/LICENSES-AND-NOTICES/LICENSES-MAP.md сгенерированный

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Просмотреть файл

@ -276,6 +276,7 @@
"glew",
"glm",
"glog",
"glslang",
"glusterfs",
"gnome-desktop-testing",
"gnome-doc-utils",

49
SPECS/freeglut/155.patch Normal file
Просмотреть файл

@ -0,0 +1,49 @@
From a3810f4e9540286e2d4b8cc97c82ec484de45b9e Mon Sep 17 00:00:00 2001
From: Sebastian Rasmussen <sebras@gmail.com>
Date: Mon, 12 Feb 2024 14:46:22 +0800
Subject: [PATCH] Plug memory leak that happens upon error.
If fgStructure.CurrentMenu is set when glutAddMenuEntry() or
glutAddSubMenu() is called the allocated menuEntry variable will
leak. This commit postpones allocating menuEntry until after the
error checks, thereby plugging the memory leak.
This fixes CVE-2024-24258 and CVE-2024-24259.
---
src/fg_menu.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/fg_menu.c b/src/fg_menu.c
index 53112dc21..0da88901d 100644
--- a/src/fg_menu.c
+++ b/src/fg_menu.c
@@ -864,12 +864,12 @@ void FGAPIENTRY glutAddMenuEntry( const char* label, int value )
{
SFG_MenuEntry* menuEntry;
FREEGLUT_EXIT_IF_NOT_INITIALISED ( "glutAddMenuEntry" );
- menuEntry = (SFG_MenuEntry *)calloc( sizeof(SFG_MenuEntry), 1 );
freeglut_return_if_fail( fgStructure.CurrentMenu );
if (fgState.ActiveMenus)
fgError("Menu manipulation not allowed while menus in use.");
+ menuEntry = (SFG_MenuEntry *)calloc( sizeof(SFG_MenuEntry), 1 );
menuEntry->Text = strdup( label );
menuEntry->ID = value;
@@ -888,7 +888,6 @@ void FGAPIENTRY glutAddSubMenu( const char *label, int subMenuID )
SFG_Menu *subMenu;
FREEGLUT_EXIT_IF_NOT_INITIALISED ( "glutAddSubMenu" );
- menuEntry = ( SFG_MenuEntry * )calloc( sizeof( SFG_MenuEntry ), 1 );
subMenu = fgMenuByID( subMenuID );
freeglut_return_if_fail( fgStructure.CurrentMenu );
@@ -897,6 +896,7 @@ void FGAPIENTRY glutAddSubMenu( const char *label, int subMenuID )
freeglut_return_if_fail( subMenu );
+ menuEntry = ( SFG_MenuEntry * )calloc( sizeof( SFG_MenuEntry ), 1 );
menuEntry->Text = strdup( label );
menuEntry->SubMenu = subMenu;
menuEntry->ID = -1;

Просмотреть файл

Просмотреть файл

@ -1,6 +1,6 @@
{
"Signatures": {
"freeglut-3.2.1.tar.gz": "d4000e02102acaf259998c870e25214739d1f16f67f99cb35e4f46841399da68",
"freeglut-3.4.0.tar.gz": "3c0bcb915d9b180a97edaebd011b7a1de54583a838644dcd42bb0ea0c6f3eaec",
"openglut-0.6.3-doc.tar.gz": "376b2f89680a9cdea0289de4e633e2287dcd80ba887a7b77ee7281934e5d2a38"
}
}

Просмотреть файл

@ -1,21 +1,29 @@
Vendor: Microsoft Corporation
Distribution: Azure Linux
%global __cmake_in_source_build 1
Summary: A freely licensed alternative to the GLUT library
Name: freeglut
Version: 3.2.1
Release: 4%{?dist}
Version: 3.4.0
Release: 1%{?dist}
Vendor: Microsoft Corporation
Distribution: Azure Linux
URL: http://freeglut.sourceforge.net
Source0: https://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz
# For the manpages
Source1: https://downloads.sourceforge.net/openglut/openglut-0.6.3-doc.tar.gz
Patch0: common.patch
# Patch for CVE-2024-24258 and CVE-2024-24259
Patch1: 155.patch
License: MIT
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: cmake
BuildRequires: pkgconfig libGLU-devel libXext-devel libXxf86vm-devel
BuildRequires: libXi-devel libICE-devel
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: cmake
BuildRequires: pkgconfig
BuildRequires: libGLU-devel
BuildRequires: libXext-devel
BuildRequires: libXi-devel
BuildRequires: libICE-devel
BuildRequires: make
# The virtual Provides below is present so that this freeglut package is a
# drop in binary replacement for "glut" which will satisfy rpm dependancies
# properly. The Obsoletes tag is required in order for any pre-existing
@ -52,15 +60,16 @@ license.
%prep
%setup -q -a 1
%patch 0 -p0
%patch -P 0 -p0
%patch -P 1 -p1
%build
%{cmake} -DFREEGLUT_BUILD_STATIC_LIBS=OFF .
make %{?_smp_mflags}
%{cmake_build}
%install
make install DESTDIR=$RPM_BUILD_ROOT
%{make_install}
mkdir -p $RPM_BUILD_ROOT/%{_mandir}/man3
install -p -m 644 doc/man/*.3 $RPM_BUILD_ROOT/%{_mandir}/man3
@ -70,11 +79,13 @@ install -p -m 644 doc/man/*.3 $RPM_BUILD_ROOT/%{_mandir}/man3
%files
%doc AUTHORS ChangeLog COPYING README doc/*.png doc/*.html
%license COPYING
%doc AUTHORS ChangeLog README.md
# don't include contents of doc/ directory as it is mostly obsolete
%{_libdir}/libglut.so.3*
%files devel
%doc doc/html/*.png doc/html/*.html
%{_includedir}/GL/*.h
%{_libdir}/libglut.so
%{_libdir}/pkgconfig/glut.pc
@ -82,6 +93,10 @@ install -p -m 644 doc/man/*.3 $RPM_BUILD_ROOT/%{_mandir}/man3
%{_libdir}/cmake/FreeGLUT/*
%changelog
* Thu Feb 29 2024 Vince Perri <viperri@microsoft.com> - 3.4.0-1
- Promote and upgrade to 3.4.0 based on Fedora 40.
- License verified.
* Fri Oct 15 2021 Pawel Winogrodzki <pawelwi@microsoft.com> - 3.2.1-4
- Initial CBL-Mariner import from Fedora 32 (license: MIT).

Просмотреть файл

@ -0,0 +1,189 @@
diff -up glslang-sdk-1.3.275.0/CMakeLists.txt.dma glslang-sdk-1.3.275.0/CMakeLists.txt
--- glslang-sdk-1.3.275.0/CMakeLists.txt.dma 2023-08-09 04:49:36.000000000 +1000
+++ glslang-sdk-1.3.275.0/CMakeLists.txt 2023-09-05 13:21:45.113297799 +1000
@@ -106,6 +106,13 @@ endif()
option(ENABLE_PCH "Enables Precompiled header" ON)
+# using pkg-config to configure include paths and link libraries
+include(FindPkgConfig)
+pkg_check_modules(SPIRV_TOOLS REQUIRED SPIRV-Tools>=2019.2.1)
+if(BUILD_SHARED_LIBS)
+ pkg_check_modules(SPIRV_TOOLS_SHARED REQUIRED SPIRV-Tools-shared>=2019.2.1)
+endif(BUILD_SHARED_LIBS)
+
if(ENABLE_HLSL)
add_compile_definitions(ENABLE_HLSL)
endif()
@@ -264,27 +271,7 @@ if(BUILD_EXTERNAL AND IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/External)
add_subdirectory(External)
endif()
-option(ALLOW_EXTERNAL_SPIRV_TOOLS "Allows to build against installed SPIRV-Tools-opt")
-if(NOT TARGET SPIRV-Tools-opt)
- if(ALLOW_EXTERNAL_SPIRV_TOOLS)
- # Look for external SPIR-V Tools build, if not building in-tree
- message(STATUS "Trying to find local SPIR-V tools")
- find_package(SPIRV-Tools-opt)
- if(NOT TARGET SPIRV-Tools-opt)
- if(ENABLE_OPT)
- message(WARNING "ENABLE_OPT set but SPIR-V tools not found! Disabling SPIR-V optimization.")
- endif()
- set(ENABLE_OPT OFF)
- endif()
- else()
- if(ENABLE_OPT)
- message(SEND_ERROR "ENABLE_OPT set but SPIR-V tools not found. Please run update_glslang_sources.py, "
- "set the ALLOW_EXTERNAL_SPIRV_TOOLS option to use a local install of SPIRV-Tools, or set ENABLE_OPT=0.")
- endif()
- endif()
-endif()
-
-if(ENABLE_OPT)
+if(${SPIRV_TOOLS_FOUND} EQUAL 1)
message(STATUS "optimizer enabled")
add_definitions(-DENABLE_OPT=1)
else()
diff -up glslang-sdk-1.3.275.0/External/CMakeLists.txt.dma glslang-sdk-1.3.275.0/External/CMakeLists.txt
--- glslang-sdk-1.3.275.0/External/CMakeLists.txt.dma 2023-08-09 04:49:36.000000000 +1000
+++ glslang-sdk-1.3.275.0/External/CMakeLists.txt 2023-09-05 13:21:45.113297799 +1000
@@ -68,10 +68,4 @@ if(GLSLANG_TESTS)
endif()
endif()
-if(ENABLE_OPT AND NOT TARGET SPIRV-Tools-opt)
- if(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/spirv-tools)
- set(SPIRV_SKIP_TESTS ON CACHE BOOL "Skip building SPIRV-Tools tests")
- add_subdirectory(spirv-tools)
- endif()
-endif()
diff -up glslang-sdk-1.3.275.0/glslang/CMakeLists.txt.dma glslang-sdk-1.3.275.0/glslang/CMakeLists.txt
--- glslang-sdk-1.3.275.0/glslang/CMakeLists.txt.dma 2023-08-09 04:49:36.000000000 +1000
+++ glslang-sdk-1.3.275.0/glslang/CMakeLists.txt 2023-09-05 13:21:45.114297825 +1000
@@ -249,6 +249,8 @@ if(PROJECT_IS_TOP_LEVEL)
add_library(GenericCodeGen ALIAS glslang::GenericCodeGen)
endif()
")
+ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/glslang.pc.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/pkgconfig/glslang.pc @ONLY)
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/pkgconfig/glslang.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/glslangTargets.cmake" DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake)
endif()
diff -up glslang-sdk-1.3.275.0/glslang/glslang.pc.cmake.in.dma glslang-sdk-1.3.275.0/glslang/glslang.pc.cmake.in
--- glslang-sdk-1.3.275.0/glslang/glslang.pc.cmake.in.dma 2023-09-05 13:21:45.115297852 +1000
+++ glslang-sdk-1.3.275.0/glslang/glslang.pc.cmake.in 2023-09-05 13:21:45.115297852 +1000
@@ -0,0 +1,11 @@
+ prefix=@CMAKE_INSTALL_PREFIX@
+ exec_prefix=@CMAKE_INSTALL_PREFIX@
+ libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
+ includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
+
+ Name: @PROJECT_NAME@
+ Description: OpenGL and OpenGL ES shader front end and validator
+ Requires:
+ Version: @VERSION@
+ Libs: -L${libdir} -lglslang -lOSDependent -lHLSL -lOGLCompiler -lSPVRemapper
+ Cflags: -I${includedir}
\ No newline at end of file
diff -up glslang-sdk-1.3.275.0/SPIRV/CMakeLists.txt.dma glslang-sdk-1.3.275.0/SPIRV/CMakeLists.txt
--- glslang-sdk-1.3.275.0/SPIRV/CMakeLists.txt.dma 2023-08-09 04:49:36.000000000 +1000
+++ glslang-sdk-1.3.275.0/SPIRV/CMakeLists.txt 2023-09-05 13:21:45.116297879 +1000
@@ -89,6 +89,10 @@ target_include_directories(SPIRV PUBLIC
glslang_add_build_info_dependency(SPIRV)
+
+set(SPIRV_NAME spirv)
+set(SPIRV_VERSION 1.3)
+
if (ENABLE_SPVREMAPPER)
add_library(SPVRemapper ${LIB_TYPE} ${SPVREMAP_SOURCES} ${SPVREMAP_HEADERS})
set_target_properties(SPVRemapper PROPERTIES
@@ -105,10 +109,17 @@ if(WIN32 AND BUILD_SHARED_LIBS)
endif()
endif()
+target_include_directories(SPIRV PUBLIC ${SPIRV_TOOLS_INCLUDE_DIRS})
+target_compile_options(SPIRV PUBLIC ${SPIRV_TOOLS_CFLAGS_OTHER})
+target_link_libraries(SPIRV ${SPIRV_TOOLS_LIBRARIES})
+if(BUILD_SHARED_LIBS)
+ target_include_directories(SPIRV PUBLIC ${SPIRV_TOOLS_SHARED_INCLUDE_DIRS})
+ target_compile_options(SPIRV PUBLIC ${SPIRV_TOOLS_SHARED_CFLAGS_OTHER})
+ target_link_libraries(SPIRV ${SPIRV_TOOLS_SHARED_LIBRARIES})
+endif(BUILD_SHARED_LIBS)
+
if(ENABLE_OPT)
- target_link_libraries(SPIRV PRIVATE MachineIndependent PUBLIC SPIRV-Tools-opt)
- target_include_directories(SPIRV PUBLIC
- $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../External>)
+ target_link_libraries(SPIRV glslang)
else()
target_link_libraries(SPIRV PRIVATE MachineIndependent)
endif()
@@ -150,5 +161,9 @@ if(PROJECT_IS_TOP_LEVEL)
")
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/SPIRVTargets.cmake" DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake)
+ # spirv.pc Configuration
+ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/spirv.pc.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/pkgconfig/spirv.pc @ONLY)
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/pkgconfig/spirv.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
+
install(FILES ${PUBLIC_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/glslang/SPIRV/)
endif()
diff -up glslang-sdk-1.3.275.0/SPIRV/spirv.pc.cmake.in.dma glslang-sdk-1.3.275.0/SPIRV/spirv.pc.cmake.in
--- glslang-sdk-1.3.275.0/SPIRV/spirv.pc.cmake.in.dma 2023-09-05 13:21:45.116297879 +1000
+++ glslang-sdk-1.3.275.0/SPIRV/spirv.pc.cmake.in 2023-09-05 13:21:45.116297879 +1000
@@ -0,0 +1,11 @@
+ prefix=@CMAKE_INSTALL_PREFIX@
+ exec_prefix=@CMAKE_INSTALL_PREFIX@
+ libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
+ includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
+
+ Name: @SPIRV_NAME@
+ Description: SPIR-V is a binary intermediate language for representing graphical-shader stages and compute kernels for multiple Khronos APIs, including OpenCL, OpenGL, and Vulkan
+ Requires:
+ Version: @SPIRV_VERSION@
+ Libs: -L${libdir} -lSPIRV
+ Cflags: -I${includedir}
\ No newline at end of file
diff -up glslang-sdk-1.3.275.0/SPIRV/SpvTools.cpp.dma glslang-sdk-1.3.275.0/SPIRV/SpvTools.cpp
--- glslang-sdk-1.3.275.0/SPIRV/SpvTools.cpp.dma 2023-08-09 04:49:36.000000000 +1000
+++ glslang-sdk-1.3.275.0/SPIRV/SpvTools.cpp 2023-09-05 13:21:45.117297906 +1000
@@ -43,7 +43,7 @@
#include <iostream>
#include "SpvTools.h"
-#include "spirv-tools/optimizer.hpp"
+#include <spirv-tools/optimizer.hpp>
namespace glslang {
diff -up glslang-sdk-1.3.275.0/StandAlone/CMakeLists.txt.dma glslang-sdk-1.3.275.0/StandAlone/CMakeLists.txt
--- glslang-sdk-1.3.275.0/StandAlone/CMakeLists.txt.dma 2023-08-09 04:49:36.000000000 +1000
+++ glslang-sdk-1.3.275.0/StandAlone/CMakeLists.txt 2023-09-05 13:22:23.806333232 +1000
@@ -63,6 +63,14 @@ set(LIBRARIES
SPIRV
glslang-default-resource-limits)
+if(BUILD_SHARED_LIBS)
+ set(LIBRARIES ${LIBRARIES} ${SPIRV_TOOLS_SHARED_LIBRARIES})
+ target_include_directories(glslang-standalone PUBLIC ${SPIRV_TOOLS_SHARED_INCLUDE_DIRS})
+else()
+ set(LIBRARIES ${LIBRARIES} ${SPIRV_TOOLS_LIBRARIES})
+ target_include_directories(glslang-standalone PUBLIC ${SPIRV_TOOLS_INCLUDE_DIRS})
+endif(BUILD_SHARED_LIBS)
+
if(WIN32)
set(LIBRARIES ${LIBRARIES} psapi)
elseif(UNIX)
@@ -72,8 +80,6 @@ elseif(UNIX)
endif()
target_link_libraries(glslang-standalone ${LIBRARIES})
-target_include_directories(glslang-standalone PUBLIC
- $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../External>)
if(ENABLE_SPVREMAPPER)
set(REMAPPER_SOURCES spirv-remap.cpp)

Просмотреть файл

@ -0,0 +1,5 @@
{
"Signatures": {
"glslang-sdk-1.3.275.0.tar.gz": "920f99e7d37c6f74e97e5e4b0aeded8b6524b1cbf6a1ed4e760ed3b4b1250077"
}
}

Просмотреть файл

@ -0,0 +1,82 @@
%global sdkver 1.3.275.0
Name: glslang
Version: 14.0.0
Release: 1%{?dist}
Summary: OpenGL and OpenGL ES shader front end and validator
License: BSD and GPLv3+ and Apache-2.0
URL: https://github.com/KhronosGroup/%{name}
Source0: %url/archive/vulkan-sdk-%{sdkver}.tar.gz#/%{name}-sdk-%{sdkver}.tar.gz
# Patch to build against system spirv-tools (rebased locally)
#Patch3: https://patch-diff.githubusercontent.com/raw/KhronosGroup/glslang/pull/1722.patch#/0001-pkg-config-compatibility.patch
Patch3: 0001-pkg-config-compatibility.patch
BuildRequires: cmake3
BuildRequires: gcc-c++
BuildRequires: ninja-build
BuildRequires: spirv-tools-devel
%description
%{name} is the official reference compiler front end for the OpenGL
ES and OpenGL shading languages. It implements a strict
interpretation of the specifications for these languages.
%package devel
Summary: Development files for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel
%{name} is the official reference compiler front end for the OpenGL
ES and OpenGL shading languages. It implements a strict
interpretation of the specifications for these languages.
%prep
%autosetup -p1 -n %{name}-vulkan-sdk-%{sdkver}
# Fix rpmlint warning on debuginfo
find . -name '*.h' -or -name '*.cpp' -or -name '*.hpp'| xargs chmod a-x
%build
%cmake3 -DBUILD_SHARED_LIBS=ON
%cmake_build
%install
%{cmake_install}
# we don't want them in here
rm -rf %{buildroot}%{_includedir}/SPIRV
%ifnarch s390x ppc64
%check
pushd Test
./runtests localResults ../%{_vpath_builddir}/StandAlone/glslangValidator ../%{_vpath_builddir}/StandAlone/spirv-remap
popd
%endif
%files
%doc README.md README-spirv-remap.txt
%{_bindir}/glslang
%{_bindir}/glslangValidator
%{_bindir}/spirv-remap
%{_libdir}/libglslang-default-resource-limits.so
%{_libdir}/libglslang-default-resource-limits.so.14
%{_libdir}/libglslang-default-resource-limits.so.14.0.0
%{_libdir}/libglslang.so
%{_libdir}/libglslang.so.14
%{_libdir}/libglslang.so.14.0.0
%{_libdir}/libSPIRV.so
%{_libdir}/libSPIRV.so.14
%{_libdir}/libSPIRV.so.14.0.0
%{_libdir}/libSPVRemapper.so
%{_libdir}/libSPVRemapper.so.14
%{_libdir}/libSPVRemapper.so.14.0.0
%files devel
%{_includedir}/glslang/
%{_libdir}/pkgconfig/spirv.pc
%{_libdir}/cmake/*
%changelog
* Thu Feb 29 2024 Vince Perri <viperri@microsoft.com> - 14.0.0-1
- Initial Azure Linux import from Fedora 40 (license: MIT).
- License verified.

Просмотреть файл

@ -1,12 +0,0 @@
diff -up jasper-2.0.14/CMakeLists.txt.rpath jasper-2.0.14/CMakeLists.txt
--- jasper-2.0.14/CMakeLists.txt.rpath 2017-09-14 18:20:10.000000000 -0500
+++ jasper-2.0.14/CMakeLists.txt 2018-07-19 09:48:53.035815377 -0500
@@ -347,7 +347,7 @@ if (JAS_ENABLE_SHARED)
# (but later on when installing)
set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
- set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
+ #set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
# add the automatically determined parts of the RPATH
# which point to directories outside the build tree to the install RPATH

Просмотреть файл

@ -0,0 +1,131 @@
diff -urNp a/src/app/CMakeLists.txt b/src/app/CMakeLists.txt
--- a/src/app/CMakeLists.txt 2024-02-13 13:35:43.450061461 +0100
+++ b/src/app/CMakeLists.txt 2024-02-14 07:44:16.606095637 +0100
@@ -115,9 +115,6 @@ if(BASH_PROGRAM AND JAS_HAVE_ALL_NATIVE_
add_test(run_test_2
"${BASH_PROGRAM}" "${CMAKE_CURRENT_BINARY_DIR}/../../test/bin/wrapper"
"${CMAKE_CURRENT_SOURCE_DIR}/../../test/bin/run_test_2" -v)
- add_test(run_test_3
- "${BASH_PROGRAM}" "${CMAKE_CURRENT_BINARY_DIR}/../../test/bin/wrapper"
- "${CMAKE_CURRENT_SOURCE_DIR}/../../test/bin/run_test_3" -v)
if(JAS_ENABLE_CONFORMANCE_TESTS)
add_test(run_conformance_tests
"${BASH_PROGRAM}" "${CMAKE_CURRENT_BINARY_DIR}/../../test/bin/wrapper"
diff -urNp a/test/bin/run_test_3 b/test/bin/run_test_3
--- a/test/bin/run_test_3 2024-02-13 13:35:43.463061601 +0100
+++ b/test/bin/run_test_3 1970-01-01 01:00:00.000000000 +0100
@@ -1,114 +0,0 @@
-#! /usr/bin/env bash
-# Copyright (c) 2016 Michael David Adams
-################################################################################
-
-################################################################################
-
-if [ "${BASH_VERSINFO[0]}" -lt 4 ]; then
- echo "This test requires Bash 4 or greater."
- echo "This test is being skipped."
- exit 0
-fi
-
-cmd_dir=$(dirname "$0") || exit 1
-source "$cmd_dir"/base_utilities || exit 1
-source "$cmd_dir"/test_utilities || exit 1
-top_dir="$cmd_dir/../.."
-sysinfo_program="$top_dir/build/sysinfo"
-
-debug_level="${JAS_DEBUG_LEVEL:-0}"
-if [ "$debug_level" -ge 1 ]; then
- set -xv
-fi
-
-################################################################################
-
-set_source_and_build_dirs || panic "cannot set source and build directories"
-
-################################################################################
-
-#abs_source_dir="$1"
-#abs_build_dir="$2"
-
-#export JAS_ABS_TOP_BUILDDIR="$abs_build_dir"
-#export JAS_TOP_BUILDDIR="$abs_build_dir"
-#export JAS_ABS_TOP_SRCDIR="$abs_source_dir"
-#export JAS_TOP_SRCDIR="$abs_source_dir"
-
-#$CMDDIR/rundectests jasper || exit 1
-
-oj_compress=$(type -P opj2_compress) || oj_compress=""
-oj_decompress=$(type -P opj2_decompress) || oj_decompress=""
-
-run_test="$cmd_dir/run_codec_test"
-
-codec_selectors=()
-codec_selectors+=(jasper_jasper)
-if [ -n "$oj_decompress" ]; then
- codec_selectors+=(jasper_oj)
-fi
-#codec_selectors+=(jasper_jj2k)
-#codec_selectors+=(jj2k_jasper)
-#codec_selectors+=(kakadu_jasper)
-#codec_selectors+=(jasper_kakadu)
-###codec_selectors+=(jasper_vm)
-###codec_selectors+=(vm_jasper)
-
-exclude_tests=()
-
-os="$("$sysinfo_program" -o)" || \
- panic "cannot get OS information"
-echo "OS: $os"
-
-if [ "$os" = windows ]; then
- eecho "WARNING: some tests disabled"
- exclude_tests+=(sgn_1)
-fi
-
-base_opts=()
-for test in "${exclude_tests[@]}"; do
- base_opts+=(-X "$test")
-done
-
-echo "STARTING AT `date`"
-
-num_errors=0
-failed_tests=()
-
-for codec_selector in "${codec_selectors[@]}"; do
- enc=$(echo "$codec_selector" | awk -v FS=_ '{print $1}' -)
- dec=$(echo "$codec_selector" | awk -v FS=_ '{print $2}' -)
- echo "############################################################"
- echo "START OF TESTS FOR ENCODER=$enc DECODER=$dec"
- echo "############################################################"
- opts=()
- opts+=(-v)
- opts+=(-e "$enc")
- opts+=(-d "$dec")
- opts+=(-E ignore)
- opts+=("${base_opts[@]}")
- #opts+=(-B)
- opts+=("$@")
- "$run_test" "${opts[@]}"
- status=$?
- if [ $status -ne 0 ]; then
- num_errors=$((num_errors + 1))
- failed_tests+=($codec_selector)
- #panic "running tests failed"
- fi
- echo "############################################################"
- echo "END OF TESTS"
- echo "############################################################"
-done
-
-echo "ENDING AT `date`"
-
-echo "############################################################"
-echo "TEST SUMMARY"
-echo "Number of codec selectors: ${#codec_selectors[@]}"
-echo "Number of errors: $num_errors"
-if [ "$num_errors" -gt 0 ]; then
- echo "STATUS: FAILED"
- exit 1
-fi
-echo "STATUS: PASSED"

Просмотреть файл

@ -1,66 +0,0 @@
diff -urNp a/build/cmake/modules/JasOpenGL.cmake b/build/cmake/modules/JasOpenGL.cmake
--- a/build/cmake/modules/JasOpenGL.cmake 2020-10-07 10:00:16.316291325 +0200
+++ b/build/cmake/modules/JasOpenGL.cmake 2020-10-07 10:03:39.536143003 +0200
@@ -13,19 +13,19 @@ if (JAS_ENABLE_OPENGL AND OPENGL_FOUND)
set(JAS_HAVE_OPENGL 0)
message("OpenGL include directory: ${OPENGL_INCLUDE_DIR}")
message("OpenGL libraries: ${OPENGL_LIBRARIES}")
- find_package(GLUT ${JAS_REQUIRED})
- message("GLUT library found: ${GLUT_FOUND}")
- if (GLUT_FOUND)
- message("GLUT include directory: ${GLUT_INCLUDE_DIR}")
- message("GLUT libraries: ${GLUT_LIBRARIES}")
- set(CMAKE_REQUIRED_INCLUDES ${GLUT_INCLUDE_DIR})
- check_include_files(GL/glut.h JAS_HAVE_GL_GLUT_H)
+ find_package(FreeGLUT ${JAS_REQUIRED})
+ message("GLUT library found: ${FreeGLUT_FOUND}")
+ if (FreeGLUT_FOUND)
+ message("GLUT include directory: ${FreeGLUT_INCLUDE_DIR}")
+ message("GLUT libraries: ${FreeGLUT_LIBRARIES}")
+ set(CMAKE_REQUIRED_INCLUDES ${FreeGLUT_INCLUDE_DIR})
+ check_include_files(GL/freeglut.h JAS_HAVE_GL_GLUT_H)
check_include_files(glut.h JAS_HAVE_GLUT_H)
if (JAS_HAVE_GL_GLUT_H OR JAS_HAVE_GLUT_H)
set(JAS_HAVE_OPENGL 1)
- include_directories(${GLUT_INCLUDE_DIR} ${OPENGL_INCLUDE_DIR})
+ include_directories(${FreeGLUT_INCLUDE_DIR} ${OPENGL_INCLUDE_DIR})
else()
- message(WARNING "The header files GL/glut.h and glut.h both appear to be missing.")
+ message(WARNING "The header files GL/freeglut.h and glut.h both appear to be missing.")
message(WARNING "Disabling OpenGL.")
endif()
endif()
@@ -49,6 +49,6 @@ else()
set(JAS_HAVE_OPENGL 0)
set(OPENGL_INCLUDE_DIR "")
set(OPENGL_LIBRARIES "")
- set(GLUT_INCLUDE_DIR "")
+ set(FreeGLUT_INCLUDE_DIR "")
set(GLUT_LIBRARIES "")
endif()
diff -urNp a/src/appl/CMakeLists.txt b/src/appl/CMakeLists.txt
--- a/src/appl/CMakeLists.txt 2020-10-07 10:00:16.338291526 +0200
+++ b/src/appl/CMakeLists.txt 2020-10-07 10:04:58.864872143 +0200
@@ -23,8 +23,8 @@ set(man_pages "${man_pages}" imgcmp.1)
if(JAS_HAVE_OPENGL)
add_executable(jiv jiv.c)
target_include_directories(jiv PUBLIC
- ${GLUT_INCLUDE_DIR} ${OPENGL_INCLUDE_DIR})
- target_link_libraries(jiv libjasper ${JPEG_LIBRARIES} ${GLUT_LIBRARIES}
+ ${FreeGLUT_INCLUDE_DIR} ${OPENGL_INCLUDE_DIR})
+ target_link_libraries(jiv libjasper ${JPEG_LIBRARIES} -lglut
${OPENGL_LIBRARIES} ${MATH_LIBRARY})
set(programs "${programs}" jiv)
set(man_pages "${man_pages}" jiv.1)
diff -urNp a/src/appl/jiv.c b/src/appl/jiv.c
--- a/src/appl/jiv.c 2020-10-07 10:00:16.340291544 +0200
+++ b/src/appl/jiv.c 2020-10-07 10:05:35.319207658 +0200
@@ -68,7 +68,7 @@
#include <math.h>
#include <inttypes.h>
#if defined(JAS_HAVE_GL_GLUT_H)
-#include <GL/glut.h>
+#include <GL/freeglut.h>
#else
#include <glut.h>
#endif

Просмотреть файл

@ -1,5 +1,5 @@
{
"Signatures": {
"jasper-2.0.32.tar.gz": "a3583a06698a6d6106f2fc413aa42d65d86bedf9a988d60e5cfa38bf72bc64b9"
"jasper-4.2.1.tar.gz": "970002b774b91edd9d2dedf76d0b8d5a88af28e0c6d603cc51988311a99a869f"
}
}

Просмотреть файл

@ -1,28 +1,36 @@
Summary: Implementation of the JPEG-2000 standard, Part 1
Name: jasper
Version: 2.0.32
Release: 3%{?dist}
License: JasPer
Vendor: Microsoft Corporation
Distribution: Azure Linux
URL: https://www.ece.uvic.ca/~frodo/jasper/
Source0: https://github.com/jasper-software/jasper/archive/version-%{version}.tar.gz#/%{name}-%{version}.tar.gz
# skip hard-coded prefix/lib rpath
Patch2: jasper-2.0.14-rpath.patch
# NOTE: packages that can use jasper:
# ImageMagick
# netpbm
Summary: Implementation of the JPEG-2000 standard, Part 1
Name: jasper
Version: 4.2.1
Release: 1%{?dist}
License: JasPer-2.0
Vendor: Microsoft Corporation
Distribution: Azure Linux
URL: http://www.ece.uvic.ca/~frodo/jasper/
Source0: https://github.com/jasper-software/%{name}/archive/refs/tags/version-%{version}.tar.gz#/%{name}-%{version}.tar.gz
# architecture related patches
Patch100: jasper-2.0.2-test-ppc64-disable.patch
Patch101: jasper-2.0.2-test-ppc64le-disable.patch
Patch100: jasper-2.0.2-test-ppc64-disable.patch
Patch101: jasper-2.0.2-test-ppc64le-disable.patch
Patch102: jasper-4.1.0-test-i686-disable.patch
# autoreconf
BuildRequires: cmake
BuildRequires: gcc
BuildRequires: libGLU-devel
BuildRequires: libXi-devel
BuildRequires: libXmu-devel
BuildRequires: libjpeg-turbo-devel
BuildRequires: make
BuildRequires: mesa-libGL-devel
BuildRequires: pkgconfig
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
BuildRequires: cmake
BuildRequires: freeglut-devel
BuildRequires: libGLU-devel
BuildRequires: libjpeg-devel
BuildRequires: libXmu-devel libXi-devel
BuildRequires: pkgconfig doxygen
BuildRequires: mesa-libGL-devel
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
BuildRequires: gcc
BuildRequires: make
%description
This package contains an implementation of the image compression
@ -30,37 +38,33 @@ standard JPEG-2000, Part 1. It consists of tools for conversion to and
from the JP2 and JPC formats.
%package devel
Summary: Header files, libraries and developer documentation
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
Requires: libjpeg-turbo-devel
Requires: pkgconfig
Provides: libjasper-devel = %{version}-%{release}
Summary: Header files, libraries and developer documentation
Provides: libjasper-devel = %{version}-%{release}
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
Requires: libjpeg-devel
Requires: pkgconfig
%description devel
%{summary}.
%package libs
Summary: Runtime libraries for %{name}
Conflicts: jasper < 1.900.1-4
Summary: Runtime libraries for %{name}
Conflicts: jasper < 1.900.1-4
%description libs
%{summary}.
%package utils
Summary: Nonessential utilities for %{name}
Requires: %{name} = %{version}-%{release}
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
Summary: Nonessential utilities for %{name}
Requires: %{name} = %{version}-%{release}
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
%description utils
%{summary}, including jiv and tmrdemo.
%prep
%setup -q -n %{name}-version-%{version}
%patch 2 -p1 -b .rpath
# Need to disable one test to be able to build it on ppc64 arch
# At ppc64 this test just stuck (nothing happend - no exception or error)
# %patch3 -p1 -b .freeglut
%if "%{_arch}" == "ppc64"
%patch 100 -p1 -b .test-ppc64-disable
@ -73,24 +77,33 @@ Requires: %{name}-libs%{?_isa} = %{version}-%{release}
%patch 101 -p1 -b .test-ppc64le-disable
%endif
%ifarch %ix86
%patch 102 -p1 -b .test-i686-disable
%endif
%build
mkdir builder
%cmake \
-DJAS_ENABLE_DOC:BOOL=OFF \
-DALLOW_IN_SOURCE_BUILD:BOOL=ON \
-B builder
%make_build -C builder
%install
make install/fast DESTDIR=%{buildroot} -C builder
# Unpackaged files
rm -f doc/README
find %{buildroot} -type f -name "*.la" -delete -print
rm -f %{buildroot}%{_libdir}/lib*.la
%check
make test -C builder
%ldconfig_scriptlets libs
%files
%{_bindir}/imgcmp
%{_bindir}/imginfo
@ -105,14 +118,21 @@ make test -C builder
%{_libdir}/libjasper.so
%{_libdir}/pkgconfig/jasper.pc
%ldconfig_scriptlets libs
%files libs
%doc README
%license COPYRIGHT LICENSE
%{_libdir}/libjasper.so.4*
%doc README.md
%license COPYRIGHT.txt LICENSE.txt
%{_libdir}/libjasper.so.7*
%files utils
%{_bindir}/jiv
%{_mandir}/man1/jiv.1*
%changelog
* Tue Feb 13 2024 Vince Perri <viperri@microsoft.com> - 4.2.1-1
- Upgrade to 4.2.1 based on Fedora 40.
- License verified.
* Wed Sep 20 2023 Jon Slobodzian <joslobo@microsoft.com> - 2.0.32-3
- Recompile with stack-protection fixed gcc version (CVE-2023-4039)

Просмотреть файл

@ -1,64 +1,77 @@
diff -up libglvnd-1.3.1/bin/symbols-check.py.orig libglvnd-1.3.1/bin/symbols-check.py
--- libglvnd-1.3.1/bin/symbols-check.py.orig 2020-02-21 22:28:47.000000000 +0100
+++ libglvnd-1.3.1/bin/symbols-check.py 2020-02-28 11:38:55.126765978 +0100
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
# encoding=utf-8
# Copyright © 2018-2019 Intel Corporation
diff -up libglvnd-1.3.1/src/generate/eglFunctionList.py.orig libglvnd-1.3.1/src/generate/eglFunctionList.py
diff -up libglvnd-1.3.1/src/generate/genCommon.py.orig libglvnd-1.3.1/src/generate/genCommon.py
--- libglvnd-1.3.1/src/generate/genCommon.py.orig 2020-02-21 22:28:47.000000000 +0100
+++ libglvnd-1.3.1/src/generate/genCommon.py 2020-02-28 11:38:55.148766076 +0100
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
# (C) Copyright 2015, NVIDIA CORPORATION.
# All Rights Reserved.
diff -up libglvnd-1.3.1/src/generate/gen_egl_dispatch.py.orig libglvnd-1.3.1/src/generate/gen_egl_dispatch.py
--- libglvnd-1.3.1/src/generate/gen_egl_dispatch.py.orig 2020-02-21 22:28:47.000000000 +0100
+++ libglvnd-1.3.1/src/generate/gen_egl_dispatch.py 2020-02-28 11:38:55.155766107 +0100
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
"""
Generates dispatch functions for EGL.
diff -up libglvnd-1.3.1/src/generate/gen_gldispatch_mapi.py.orig libglvnd-1.3.1/src/generate/gen_gldispatch_mapi.py
--- libglvnd-1.3.1/src/generate/gen_gldispatch_mapi.py.orig 2020-02-21 22:28:47.000000000 +0100
+++ libglvnd-1.3.1/src/generate/gen_gldispatch_mapi.py 2020-02-28 11:38:55.150766085 +0100
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
# Copyright (C) 2010 LunarG Inc.
# (C) Copyright 2015, NVIDIA CORPORATION.
diff -up libglvnd-1.3.1/src/generate/gen_libgl_glxstubs.py.orig libglvnd-1.3.1/src/generate/gen_libgl_glxstubs.py
--- libglvnd-1.3.1/src/generate/gen_libgl_glxstubs.py.orig 2020-02-21 22:28:47.000000000 +0100
+++ libglvnd-1.3.1/src/generate/gen_libgl_glxstubs.py 2020-02-28 11:38:55.152766094 +0100
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
# (C) Copyright 2015, NVIDIA CORPORATION.
# All Rights Reserved.
diff -up libglvnd-1.3.1/src/generate/gen_libOpenGL_exports.py.orig libglvnd-1.3.1/src/generate/gen_libOpenGL_exports.py
--- libglvnd-1.3.1/src/generate/gen_libOpenGL_exports.py.orig 2020-02-21 22:28:47.000000000 +0100
+++ libglvnd-1.3.1/src/generate/gen_libOpenGL_exports.py 2020-02-28 11:38:55.160766129 +0100
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
# (C) Copyright 2015, NVIDIA CORPORATION.
# All Rights Reserved.
diff -up libglvnd-1.3.1/src/GLX/gen_glx_stubs.py.orig libglvnd-1.3.1/src/GLX/gen_glx_stubs.py
--- libglvnd-1.3.1/src/GLX/gen_glx_stubs.py.orig 2020-02-21 22:28:47.000000000 +0100
+++ libglvnd-1.3.1/src/GLX/gen_glx_stubs.py 2020-02-28 11:38:55.168766164 +0100
From 535404eabd50590782cc415b26aa7ca6163f7469 Mon Sep 17 00:00:00 2001
From: Vince Perri <viperri@microsoft.com>
Date: Thu, 22 Feb 2024 21:02:11 +0000
Subject: [PATCH] python3
---
src/GLX/gen_glx_stubs.py | 2 +-
src/generate/genCommon.py | 2 +-
src/generate/gen_egl_dispatch.py | 2 +-
src/generate/gen_gldispatch_mapi.py | 2 +-
src/generate/gen_libOpenGL_exports.py | 2 +-
src/generate/gen_libgl_glxstubs.py | 2 +-
6 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/src/GLX/gen_glx_stubs.py b/src/GLX/gen_glx_stubs.py
index 79bafbc..0375132 100755
--- a/src/GLX/gen_glx_stubs.py
+++ b/src/GLX/gen_glx_stubs.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
import sys
diff --git a/src/generate/genCommon.py b/src/generate/genCommon.py
index 86f4500..6618c30 100644
--- a/src/generate/genCommon.py
+++ b/src/generate/genCommon.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
# (C) Copyright 2015, NVIDIA CORPORATION.
# All Rights Reserved.
diff --git a/src/generate/gen_egl_dispatch.py b/src/generate/gen_egl_dispatch.py
index 5ff4a09..54fcdc7 100755
--- a/src/generate/gen_egl_dispatch.py
+++ b/src/generate/gen_egl_dispatch.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
"""
Generates dispatch functions for EGL.
diff --git a/src/generate/gen_gldispatch_mapi.py b/src/generate/gen_gldispatch_mapi.py
index 5388d6c..1242661 100755
--- a/src/generate/gen_gldispatch_mapi.py
+++ b/src/generate/gen_gldispatch_mapi.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
# Copyright (C) 2010 LunarG Inc.
# (C) Copyright 2015, NVIDIA CORPORATION.
diff --git a/src/generate/gen_libOpenGL_exports.py b/src/generate/gen_libOpenGL_exports.py
index 36721dd..3ee6756 100755
--- a/src/generate/gen_libOpenGL_exports.py
+++ b/src/generate/gen_libOpenGL_exports.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
# (C) Copyright 2015, NVIDIA CORPORATION.
# All Rights Reserved.
diff --git a/src/generate/gen_libgl_glxstubs.py b/src/generate/gen_libgl_glxstubs.py
index acbe731..718d59f 100755
--- a/src/generate/gen_libgl_glxstubs.py
+++ b/src/generate/gen_libgl_glxstubs.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
# (C) Copyright 2015, NVIDIA CORPORATION.
# All Rights Reserved.
--
2.34.1

Просмотреть файл

@ -1,5 +1,5 @@
{
"Signatures": {
"libglvnd-1.3.2.tar.gz": "6f41ace909302e6a063fd9dc04760b391a25a670ba5f4b6edf9e30f21410b673"
"libglvnd-1.7.0.tar.gz": "8797914ff69e62d7d89b331cab311b29fff5cfaddae5aae09695a7ccbaf353d7"
}
}

Просмотреть файл

@ -1,12 +1,14 @@
%global commit0 faa23f21fc677af5792825dc30cb1ccef4bf33a6
Summary: The GL Vendor-Neutral Dispatch library
Name: libglvnd
Version: 1.3.2
Release: 5%{?dist}
Version: 1.7.0
Release: 1%{?dist}
License: MIT AND GPLv3+
Vendor: Microsoft Corporation
Distribution: Azure Linux
URL: https://github.com/NVIDIA/libglvnd
Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
URL: https://gitlab.freedesktop.org/glvnd/libglvnd
Source0: %{url}/-/archive/v%{version}/%{name}-%{version}.tar.gz
Patch0: libglvnd-python3.patch
Patch1: 0001-glx-Add-another-fallback-library-name.patch
@ -109,7 +111,7 @@ Provides: libGL%{?_isa} = %{version}-%{release}
libGL and libGLX are the common dispatch interface for the GLX API.
%prep
%autosetup -p1
%autosetup -p1 -n %{name}-v%{version}-%{?commit0}
autoreconf -vif
%build
@ -210,6 +212,10 @@ make check V=1 || \
%{_libdir}/pkgconfig/opengl.pc
%changelog
* Thu Feb 29 2024 Vince Perri <viperri@microsoft.com> - 1.7.0-1
- Upgrade to 1.7.0 based on Fedora 40.
- License verified.
* Fri Apr 22 2022 Olivia Crain <oliviacrain@microsoft.com> - 1.3.2-5
- Remove explicit pkgconfig provides that are now automatically generated by RPM

0
SPECS/mesa-libGLU/make-git-snapshot.sh Normal file → Executable file
Просмотреть файл

Просмотреть файл

@ -1,7 +1,7 @@
{
"Signatures": {
"glu-9.0.1.tar.xz": "fb5a4c2dd6ba6d1c21ab7c05129b0769544e1d68e1e3b0ffecb18e73c93055bc",
"LICENSE.PTR": "79d45231a71a83e895d4330153a10f730a0fe02a9d5c990e9dc802232d4aeeea",
"make-git-snapshot.sh": "9da65259fc1f2a23f33c55227b20cfe8a72d12a36ceac37199f1130397ddd305"
"make-git-snapshot.sh": "9da65259fc1f2a23f33c55227b20cfe8a72d12a36ceac37199f1130397ddd305",
"mesa-libGLU-9.0.3.tar.gz": "7e919cbc1b2677b01d65fc28fd36a19d1f3e23d76663020e0f3b82b991475e8b"
}
}

Просмотреть файл

@ -1,19 +1,20 @@
Summary: Mesa libGLU library
Name: mesa-libGLU
Version: 9.0.1
Release: 4%{?dist}
Version: 9.0.3
Release: 1%{?dist}
License: MIT
Vendor: Microsoft Corporation
Distribution: Azure Linux
URL: https://mesa3d.org/
Source0: https://mesa.freedesktop.org/archive/glu/glu-%{version}.tar.xz
Source0: https://gitlab.freedesktop.org/mesa/glu/-/archive/glu-9.0.3/glu-glu-9.0.3.tar.gz#/mesa-libGLU-%{version}.tar.gz
Source1: LICENSE.PTR
Source2: make-git-snapshot.sh
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: libtool
BuildRequires: gcc-c++
BuildRequires: libglvnd-devel
BuildRequires: mesa-libGL-devel
Provides: libGLU = %{version}-%{release}
BuildRequires: meson
Provides: libGLU
%description
Mesa implementation of the standard GLU OpenGL utility API.
@ -21,26 +22,23 @@ Mesa implementation of the standard GLU OpenGL utility API.
%package devel
Summary: Development files for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
Provides: libGLU-devel = %{version}-%{release}
Provides: libGLU-devel
%description devel
The %{name}-devel package contains libraries and header files for
developing applications that use %{name}.
%prep
%setup -q -n glu-%{version}
%autosetup -p1 -n glu-glu-%{version}
cp %{SOURCE1} .
%build
autoreconf -v -i -f
%configure --disable-static
%make_build
make %{?_smp_mflags}
%meson -Dgl_provider=glvnd
%meson_build
%install
%make_install
find %{buildroot} -type f -name "*.la" -delete -print
rm -rf %{buildroot}%{_mandir}/man3/gl[A-Z]*
%meson_install
find $RPM_BUILD_ROOT -name '*.a' -delete
%ldconfig_scriptlets
@ -55,6 +53,9 @@ rm -rf %{buildroot}%{_mandir}/man3/gl[A-Z]*
%{_libdir}/pkgconfig/glu.pc
%changelog
* Thu Feb 29 2024 Vince Perri <viperri@microsoft.com> - 9.0.3-1
- Upgrade to 9.0.3.
* Wed Jul 21 2021 Vinicius Jarina <vinja@microsoft.com> - 9.0.1-4
- Initial CBL-Mariner import from Fedora 33 (license: MIT).
- Added a "LICENSE.PTR" source clarifying the project's license.

Просмотреть файл

@ -0,0 +1,11 @@
diff -up mesa-22.3.0-rc4/src/util/00-mesa-defaults.conf.dma mesa-22.3.0-rc4/src/util/00-mesa-defaults.conf
--- mesa-22.3.0-rc4/src/util/00-mesa-defaults.conf.dma 2022-11-25 10:32:32.175879868 +1000
+++ mesa-22.3.0-rc4/src/util/00-mesa-defaults.conf 2022-11-25 10:32:43.743067470 +1000
@@ -653,6 +653,7 @@ TODO: document the other workarounds.
<application name="gnome-shell" executable="gnome-shell">
<option name="adaptive_sync" value="false" />
<option name="v3d_nonmsaa_texture_size_limit" value="true" />
+ <option name="mesa_glthread" value="false"/>
</application>
<application name="Desktop — Plasma" executable="plasmashell">
<option name="adaptive_sync" value="false" />

Просмотреть файл

@ -2,6 +2,6 @@
"Signatures": {
"LICENSE.PTR": "1de8e4adc433375c58f2abad074e9d1f7996800f7bc0636554666315d9a30ab8",
"Mesa-MLAA-License-Clarification-Email.txt": "68e7be52203a4457ea97d9c4744661a07fc3d78edb44a86b43349fb66f09147a",
"mesa-21.0.0.tar.xz": "e6204e98e6a8d77cf9dc5d34f99dd8e3ef7144f3601c808ca0dd26ba522e0d84"
"mesa-24.0.1.tar.xz": "f387192b08c471c545590dd12230a2a343244804b5fe866fec6aea02eab57613"
}
}

Просмотреть файл

@ -1,44 +1,55 @@
%ifnarch s390x
# Enabled for Fedora, disabled for CBL-Mariner as currently not needed.
# %%global with_hardware 1
# %%global with_omx 1
# %%global with_opencl 1
# %%global with_vaapi 1
# %%global with_vdpau 1
# %%global with_nine 1
%global base_drivers nouveau,r100,r200
%global with_hardware 0
%global with_vulkan_hw 1
%global with_vdpau 0
%global with_va 0
%if !0%{?rhel}
%global with_nine 0
%global with_nvk 0
%global with_omx 0
%global with_opencl 0
%endif
%global base_vulkan ,amd
%endif
%ifarch %{ix86} x86_64
# Enabled for Fedora, disabled for CBL-Mariner as currently not needed.
# %%global with_xa 1
%global platform_drivers ,i915,i965
%global with_crocus 1
%global with_i915 1
%if !0%{?rhel}
%global with_intel_clc 0
%endif
%global with_iris 1
%global with_vmware 1
%global vulkan_drivers intel,amd
%else
%ifnarch s390x
%global vulkan_drivers amd
%endif
%global with_xa 0
%global intel_platform_vulkan ,intel,intel_hasvk
%endif
%ifarch %{arm} aarch64
# Enabled for Fedora, disabled for CBL-Mariner as currently not needed.
# %%global with_xa 1
%ifarch aarch64 x86_64 %{ix86}
%if !0%{?rhel}
%global with_lima 1
%global with_vc4 1
%endif
%global with_etnaviv 1
%global with_freedreno 1
%global with_kmsro 1
%global with_lima 1
%global with_panfrost 1
%global with_tegra 1
%global with_vc4 1
%global with_v3d 1
%global with_xa 0
%global extra_platform_vulkan ,broadcom,freedreno,panfrost,imagination-experimental
%endif
%ifnarch %{arm} s390x
%ifnarch s390x
%if !0%{?rhel}
%global with_r300 1
%global with_r600 1
%endif
%global with_radeonsi 1
%global with_vmware 1
%endif
%if !0%{?rhel}
%global with_libunwind 1
%global with_lmsensors 1
%endif
%ifarch %{valgrind_arches}
@ -47,91 +58,116 @@
%bcond_with valgrind
%endif
%global dri_drivers %{?base_drivers}%{?platform_drivers}
%if 0%{?with_nvk}
%global vulkan_drivers swrast%{?base_vulkan}%{?intel_platform_vulkan}%{?extra_platform_vulkan},nouveau-experimental
%else
%global vulkan_drivers swrast%{?base_vulkan}%{?intel_platform_vulkan}%{?extra_platform_vulkan}
%endif
Summary: Mesa graphics libraries
Name: mesa
Version: 21.0.0
Release: 4%{?dist}
Summary: Mesa graphics libraries
Version: 24.0.1
Release: 1%{?dist}
License: BSD
Vendor: Microsoft Corporation
Distribution: Azure Linux
URL: http://www.mesa3d.org
Source0: https://mesa.freedesktop.org/archive/%{name}-%{version}.tar.xz
Source0: https://archive.mesa3d.org/%{name}-%{version}.tar.xz
# src/gallium/auxiliary/postprocess/pp_mlaa* have an ... interestingly worded license.
# Source1 contains email correspondence clarifying the license terms.
# Fedora opts to ignore the optional part of clause 2 and treat that code as 2 clause BSD.
# CBL-Mariner is taking the same approach.
# Azure Linux is taking the same approach.
Source1: Mesa-MLAA-License-Clarification-Email.txt
Source2: LICENSE.PTR
Patch10: gnome-shell-glthread-disable.patch
BuildRequires: meson >= 1.3.0
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: gettext
%if 0%{?with_hardware}
BuildRequires: kernel-headers
%endif
# We only check for the minimum version of pkgconfig(libdrm) needed so that the
# SRPMs for each arch still have the same build dependencies. See:
# https://bugzilla.redhat.com/show_bug.cgi?id=1859515
BuildRequires: bison
BuildRequires: flex
BuildRequires: gcc
BuildRequires: gettext
BuildRequires: llvm-devel >= 7.0.0
BuildRequires: meson >= 0.45
BuildRequires: pkgconfig(dri2proto) >= 2.8
BuildRequires: pkgconfig(expat)
BuildRequires: pkgconfig(glproto) >= 1.4.14
BuildRequires: pkgconfig(libdrm) >= 2.4.97
BuildRequires: pkgconfig(libelf)
BuildRequires: pkgconfig(libglvnd) >= 1.3.2
%if 0%{?with_libunwind}
BuildRequires: pkgconfig(libunwind)
%endif
BuildRequires: pkgconfig(expat)
BuildRequires: pkgconfig(zlib) >= 1.2.3
BuildRequires: pkgconfig(libzstd)
BuildRequires: pkgconfig(libselinux)
BuildRequires: pkgconfig(wayland-client) >= 1.11
BuildRequires: pkgconfig(wayland-egl-backend) >= 1.11
BuildRequires: pkgconfig(wayland-protocols) >= 1.8
BuildRequires: pkgconfig(wayland-scanner)
BuildRequires: pkgconfig(wayland-protocols) >= 1.8
BuildRequires: pkgconfig(wayland-client) >= 1.11
BuildRequires: pkgconfig(wayland-server) >= 1.11
BuildRequires: pkgconfig(wayland-egl-backend) >= 3
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(x11-xcb)
BuildRequires: pkgconfig(xext)
BuildRequires: pkgconfig(xdamage) >= 1.1
BuildRequires: pkgconfig(xfixes)
BuildRequires: pkgconfig(xcb-glx) >= 1.8.1
BuildRequires: pkgconfig(xxf86vm)
BuildRequires: pkgconfig(xcb)
BuildRequires: pkgconfig(x11-xcb)
BuildRequires: pkgconfig(xcb-dri2) >= 1.8
BuildRequires: pkgconfig(xcb-dri3)
BuildRequires: pkgconfig(xcb-glx) >= 1.8.1
BuildRequires: pkgconfig(xcb-present)
BuildRequires: pkgconfig(xcb-randr)
BuildRequires: pkgconfig(xcb-sync)
BuildRequires: pkgconfig(xcb-xfixes)
BuildRequires: pkgconfig(xdamage) >= 1.1
BuildRequires: pkgconfig(xext)
BuildRequires: pkgconfig(xfixes)
BuildRequires: pkgconfig(xrandr) >= 1.3
BuildRequires: pkgconfig(xshmfence) >= 1.1
BuildRequires: pkgconfig(xxf86vm)
BuildRequires: pkgconfig(zlib) >= 1.2.3
BuildRequires: python3-devel
BuildRequires: python3-mako
%if 0%{?with_hardware}
BuildRequires: kernel-headers
BuildRequires: vulkan-headers
BuildRequires: pkgconfig(dri2proto) >= 2.8
BuildRequires: pkgconfig(glproto) >= 1.4.14
BuildRequires: pkgconfig(xcb-xfixes)
BuildRequires: pkgconfig(xcb-randr)
BuildRequires: pkgconfig(xrandr) >= 1.3
BuildRequires: bison
BuildRequires: flex
%if 0%{?with_lmsensors}
BuildRequires: lm_sensors-devel
%endif
%if 0%{?with_omx}
BuildRequires: pkgconfig(libomxil-bellagio)
%endif
%if 0%{?with_vaapi}
BuildRequires: pkgconfig(libva) >= 0.38.0
%endif
%if 0%{?with_vdpau}
BuildRequires: pkgconfig(vdpau) >= 1.1
%endif
%if 0%{?with_opencl}
BuildRequires: clang-devel
BuildRequires: pkgconfig(libclc)
%if 0%{?with_va}
BuildRequires: pkgconfig(libva) >= 0.38.0
%endif
%if 0%{?with_omx}
BuildRequires: pkgconfig(libomxil-bellagio)
%endif
BuildRequires: pkgconfig(libelf)
BuildRequires: pkgconfig(libglvnd) >= 1.3.2
BuildRequires: llvm-devel >= 7.0.0
%if 0%{?with_opencl} || 0%{?with_nvk}
BuildRequires: clang-devel
BuildRequires: bindgen
BuildRequires: rust
BuildRequires: pkgconfig(libclc)
BuildRequires: pkgconfig(SPIRV-Tools)
BuildRequires: pkgconfig(LLVMSPIRVLib)
%endif
%if 0%{?with_nvk}
BuildRequires: (crate(proc-macro2) >= 1.0.56 with crate(proc-macro2) < 2)
BuildRequires: (crate(quote) >= 1.0.25 with crate(quote) < 2)
BuildRequires: (crate(syn/clone-impls) >= 2.0.15 with crate(syn/clone-impls) < 3)
BuildRequires: (crate(unicode-ident) >= 1.0.6 with crate(unicode-ident) < 2)
%endif
%if %{with valgrind}
BuildRequires: pkgconfig(valgrind)
%endif
BuildRequires: python3-devel
BuildRequires: python3-mako
%if 0%{?with_intel_clc}
BuildRequires: python3-ply
%endif
BuildRequires: vulkan-headers
BuildRequires: glslang
%if 0%{?with_vulkan_hw}
BuildRequires: pkgconfig(vulkan)
%endif
%description
%{summary}.
@ -139,7 +175,6 @@ BuildRequires: pkgconfig(valgrind)
%package filesystem
Summary: Mesa driver filesystem
Provides: mesa-dri-filesystem = %{version}-%{release}
Obsoletes: mesa-dri-filesystem < %{version}-%{release}
%description filesystem
%{summary}.
@ -148,6 +183,7 @@ Obsoletes: mesa-dri-filesystem < %{version}-%{release}
Summary: Mesa libGL runtime libraries
Requires: %{name}-libglapi%{?_isa} = %{version}-%{release}
Requires: libglvnd-glx%{?_isa} >= 1.3.2
Recommends: %{name}-dri-drivers%{?_isa} = %{version}-%{release}
%description libGL
%{summary}.
@ -166,6 +202,9 @@ Recommends: gl-manpages
%package libEGL
Summary: Mesa libEGL runtime libraries
Requires: libglvnd-egl%{?_isa} >= 1.3.2
Requires: %{name}-libgbm%{?_isa} = %{version}-%{release}
Requires: %{name}-libglapi%{?_isa} = %{version}-%{release}
Recommends: %{name}-dri-drivers%{?_isa} = %{version}-%{release}
%description libEGL
%{summary}.
@ -184,6 +223,10 @@ Provides: libEGL-devel%{?_isa}
%package dri-drivers
Summary: Mesa-based DRI drivers
Requires: %{name}-filesystem%{?_isa} = %{version}-%{release}
Requires: %{name}-libglapi%{?_isa} = %{version}-%{release}
%if 0%{?with_va}
Recommends: %{name}-va-drivers%{?_isa}
%endif
%description dri-drivers
%{summary}.
@ -197,6 +240,16 @@ Requires: %{name}-filesystem%{?_isa} = %{version}-%{release}
%{summary}.
%endif
%if 0%{?with_va}
%package va-drivers
Summary: Mesa-based VA-API video acceleration drivers
Requires: %{name}-filesystem%{?_isa} = %{version}-%{release}
Obsoletes: %{name}-vaapi-drivers < 22.2.0-5
%description va-drivers
%{summary}.
%endif
%if 0%{?with_vdpau}
%package vdpau-drivers
Summary: Mesa-based VDPAU drivers
@ -226,6 +279,7 @@ Requires: %{name}-libOSMesa%{?_isa} = %{version}-%{release}
Summary: Mesa gbm runtime library
Provides: libgbm
Provides: libgbm%{?_isa}
Recommends: %{name}-dri-drivers%{?_isa} = %{version}-%{release}
%description libgbm
%{summary}.
@ -303,62 +357,117 @@ Requires: %{name}-libd3d%{?_isa} = %{version}-%{release}
%package vulkan-drivers
Summary: Mesa Vulkan drivers
Requires: vulkan%{_isa}
Obsoletes: mesa-vulkan-devel < %{version}-%{release}
%description vulkan-drivers
The drivers with support for the Vulkan API.
%package vulkan-devel
Summary: Mesa Vulkan development files
Requires: %{name}-vulkan-drivers%{?_isa} = %{version}-%{release}
Requires: vulkan-devel
%description vulkan-devel
Headers for development with the Vulkan API.
%prep
%autosetup -n %{name}-%{version} -p1
cp %{SOURCE1} docs/
cp %{SOURCE2} .
%build
# ensure standard Rust compiler flags are set
export RUSTFLAGS="%build_rustflags"
%if 0%{?with_nvk}
export MESON_PACKAGE_CACHE_DIR="%{cargo_registry}/"
# So... Meson can't actually find them without tweaks
%define inst_crate_nameversion() %(basename %{cargo_registry}/%{1}-*)
%define rewrite_wrap_file() sed -e "/source.*/d" -e "s/%{1}-.*/%{inst_crate_nameversion %{1}}/" -i subprojects/%{1}.wrap
%rewrite_wrap_file proc-macro2
%rewrite_wrap_file quote
%rewrite_wrap_file syn
%rewrite_wrap_file unicode-ident
%endif
# We've gotten a report that enabling LTO for mesa breaks some games. See
# https://bugzilla.redhat.com/show_bug.cgi?id=1862771 for details.
# Disable LTO for now
%define _lto_cflags %{nil}
%meson \
--auto-features=disabled \
-Dplatforms=x11,wayland \
-Ddri3=enabled \
-Ddri-drivers=%{?dri_drivers} \
-Dosmesa=true \
%if 0%{?with_hardware}
-Dgallium-drivers=swrast,virgl,r300,nouveau%{?with_iris:,iris}%{?with_vmware:,svga}%{?with_radeonsi:,radeonsi,r600}%{?with_freedreno:,freedreno}%{?with_etnaviv:,etnaviv}%{?with_tegra:,tegra}%{?with_vc4:,vc4}%{?with_v3d:,v3d}%{?with_kmsro:,kmsro}%{?with_lima:,lima}%{?with_panfrost:,panfrost} \
-Dgallium-drivers=swrast,virgl,nouveau%{?with_r300:,r300}%{?with_crocus:,crocus}%{?with_i915:,i915}%{?with_iris:,iris}%{?with_vmware:,svga}%{?with_radeonsi:,radeonsi}%{?with_r600:,r600}%{?with_freedreno:,freedreno}%{?with_etnaviv:,etnaviv}%{?with_tegra:,tegra}%{?with_vc4:,vc4}%{?with_v3d:,v3d}%{?with_kmsro:,kmsro}%{?with_lima:,lima}%{?with_panfrost:,panfrost} \
%else
-Dgallium-drivers=swrast,virgl \
%endif
-Dgallium-vdpau=%{?with_vdpau:enabled}%{!?with_vdpau:disabled} \
-Dgallium-xvmc=disabled \
-Dgallium-omx=%{?with_omx:bellagio}%{!?with_omx:disabled} \
-Dgallium-va=%{?with_vaapi:enabled}%{!?with_vaapi:disabled} \
-Dgallium-xa=%{?with_xa:enabled}%{!?with_xa:disabled} \
-Dgallium-nine=%{?with_nine:true}%{!?with_nine:false} \
-Dgallium-opencl=%{?with_opencl:icd}%{!?with_opencl:disabled} \
%if 0%{?with_vdpau}
-Dgallium-vdpau=enabled \
%else
-Dgallium-vdpau=disabled \
%endif
%if 0%{?with_omx}
-Dgallium-omx=bellagio \
%else
-Dgallium-omx=disabled \
%endif
%if 0%{?with_va}
-Dgallium-va=enabled \
%else
-Dgallium-va=disabled \
%endif
%if 0%{?with_xa}
-Dgallium-xa=enabled \
%else
-Dgallium-xa=disabled \
%endif
%if 0%{?with_nine}
-Dgallium-nine=true \
%else
-Dgallium-nine=false \
%endif
%if 0%{?with_opencl}
-Dgallium-opencl=icd \
-Dgallium-rusticl=true \
%else
-Dgallium-opencl=disabled \
-Dgallium-rusticl=false \
%endif
-Dvulkan-drivers=%{?vulkan_drivers} \
-Dvulkan-layers=device-select \
-Dshared-glapi=enabled \
-Dgles1=disabled \
-Dgles1=enabled \
-Dgles2=enabled \
-Dopengl=true \
-Dgbm=enabled \
-Dglx=dri \
-Degl=enabled \
-Dglvnd=true \
-Dllvm=true \
-Dshared-llvm=true \
-Dvalgrind=%{?with_valgrind:true}%{!?with_valgrind:false} \
%if 0%{?with_intel_clc}
-Dintel-clc=enabled \
%else
-Dintel-clc=disabled \
%endif
-Dmicrosoft-clc=disabled \
-Dllvm=enabled \
-Dshared-llvm=enabled \
%if 0%{?with_valgrind}
-Dvalgrind=enabled \
%else
-Dvalgrind=disabled \
%endif
-Dbuild-tests=false \
-Dselinux=true \
-Dosmesa=true \
-Dvulkan-device-select-layer=true \
%if 0%{?with_libunwind}
-Dlibunwind=enabled \
%else
-Dlibunwind=disabled \
%endif
%if 0%{?with_lmsensors}
-Dlmsensors=enabled \
%else
-Dlmsensors=disabled \
%endif
-Dandroid-libbacktrace=disabled \
%ifarch %{ix86}
-Dglx-read-only-text=true
%endif
%{nil}
%meson_build
@ -408,8 +517,8 @@ popd
%{_libdir}/libEGL_mesa.so.0*
%files libEGL-devel
%dir %{_includedir}/EGL
%{_includedir}/EGL/eglext_angle.h
%{_includedir}/EGL/eglmesaext.h
%{_includedir}/EGL/eglextchromium.h
%post libglapi -p /sbin/ldconfig
%postun libglapi -p /sbin/ldconfig
@ -461,9 +570,12 @@ popd
%postun libOpenCL -p /sbin/ldconfig
%files libOpenCL
%{_libdir}/libMesaOpenCL.so.*
%{_libdir}/libRusticlOpenCL.so.*
%{_sysconfdir}/OpenCL/vendors/mesa.icd
%{_sysconfdir}/OpenCL/vendors/rusticl.icd
%files libOpenCL-devel
%{_libdir}/libMesaOpenCL.so
%{_libdir}/libRusticlOpenCL.so
%endif
%if 0%{?with_nine}
@ -481,26 +593,34 @@ popd
%dir %{_datadir}/drirc.d
%{_datadir}/drirc.d/00-mesa-defaults.conf
%{_libdir}/dri/kms_swrast_dri.so
%{_libdir}/dri/nouveau_vieux_dri.so
%{_libdir}/dri/r200_dri.so
%{_libdir}/dri/radeon_dri.so
%{_libdir}/dri/swrast_dri.so
%{_libdir}/dri/virtio_gpu_dri.so
%if 0%{?with_hardware}
%dir %{_libdir}/gallium-pipe
%if 0%{?with_r300}
%{_libdir}/dri/r300_dri.so
%{_libdir}/gallium-pipe/*.so
%endif
%if 0%{?with_radeonsi}
%if 0%{?with_r600}
%{_libdir}/dri/r600_dri.so
%endif
%{_libdir}/dri/radeonsi_dri.so
%endif
%ifarch %{ix86} x86_64
%{_libdir}/dri/crocus_dri.so
%{_libdir}/dri/i915_dri.so
%{_libdir}/dri/iris_dri.so
%endif
%ifarch %{arm} aarch64
%ifarch aarch64 x86_64 %{ix86}
%{_libdir}/dri/ingenic-drm_dri.so
%{_libdir}/dri/imx-drm_dri.so
%{_libdir}/dri/imx-lcdif_dri.so
%{_libdir}/dri/kirin_dri.so
%{_libdir}/dri/komeda_dri.so
%{_libdir}/dri/mali-dp_dri.so
%{_libdir}/dri/mcde_dri.so
%{_libdir}/dri/mxsfb-drm_dri.so
%{_libdir}/dri/rcar-du_dri.so
%{_libdir}/dri/stm_dri.so
%endif
%if 0%{?with_vc4}
@ -515,7 +635,6 @@ popd
%endif
%if 0%{?with_etnaviv}
%{_libdir}/dri/etnaviv_dri.so
%{_libdir}/dri/imx-drm_dri.so
%endif
%if 0%{?with_tegra}
%{_libdir}/dri/tegra_dri.so
@ -530,64 +649,102 @@ popd
%if 0%{?with_vmware}
%{_libdir}/dri/vmwgfx_dri.so
%endif
%{_libdir}/dri/nouveau_drv_video.so
%if 0%{?with_radeonsi}
%{_libdir}/dri/r600_drv_video.so
%{_libdir}/dri/radeonsi_drv_video.so
%endif
%if 0%{?with_kmsro}
%{_libdir}/dri/armada-drm_dri.so
%{_libdir}/dri/exynos_dri.so
%{_libdir}/dri/gm12u320_dri.so
%{_libdir}/dri/hdlcd_dri.so
%{_libdir}/dri/hx8357d_dri.so
%{_libdir}/dri/ili9163_dri.so
%{_libdir}/dri/ili9225_dri.so
%{_libdir}/dri/ili9341_dri.so
%{_libdir}/dri/ili9486_dri.so
%{_libdir}/dri/imx-dcss_dri.so
%{_libdir}/dri/mediatek_dri.so
%{_libdir}/dri/meson_dri.so
%{_libdir}/dri/mi0283qt_dri.so
%{_libdir}/dri/panel-mipi-dbi_dri.so
%{_libdir}/dri/pl111_dri.so
%{_libdir}/dri/repaper_dri.so
%{_libdir}/dri/rockchip_dri.so
%{_libdir}/dri/st7586_dri.so
%{_libdir}/dri/st7735r_dri.so
%{_libdir}/dri/sti_dri.so
%{_libdir}/dri/sun4i-drm_dri.so
%{_libdir}/dri/udl_dri.so
%endif
%endif
%ifarch %{ix86} x86_64
%{_libdir}/dri/i915_dri.so
%{_libdir}/dri/i965_dri.so
%if 0%{?with_opencl}
%dir %{_libdir}/gallium-pipe
%{_libdir}/gallium-pipe/*.so
%endif
%if 0%{?with_hardware}
%if 0%{?with_omx}
%files omx-drivers
%{_libdir}/bellagio/libomx_mesa.so
%endif
%if 0%{?with_va}
%files va-drivers
%{_libdir}/dri/nouveau_drv_video.so
%if 0%{?with_r600}
%{_libdir}/dri/r600_drv_video.so
%endif
%if 0%{?with_radeonsi}
%{_libdir}/dri/radeonsi_drv_video.so
%endif
%{_libdir}/dri/virtio_gpu_drv_video.so
%endif
%if 0%{?with_vdpau}
%files vdpau-drivers
%{_libdir}/vdpau/libvdpau_nouveau.so.1*
%{_libdir}/vdpau/libvdpau_r300.so.1*
%if 0%{?with_radeonsi}
%if 0%{?with_r600}
%{_libdir}/vdpau/libvdpau_r600.so.1*
%endif
%if 0%{?with_radeonsi}
%{_libdir}/vdpau/libvdpau_radeonsi.so.1*
%endif
%endif
%{_libdir}/vdpau/libvdpau_virtio_gpu.so.1*
%endif
%files vulkan-drivers
%{_libdir}/libvulkan_lvp.so
%{_datadir}/vulkan/icd.d/lvp_icd.*.json
%{_libdir}/libVkLayer_MESA_device_select.so
%{_libdir}/libvulkan_radeon.so
%{_datadir}/vulkan/icd.d/radeon_icd.*.json
%{_datadir}/vulkan/implicit_layer.d/VkLayer_MESA_device_select.json
%ifarch %{ix86} x86_64
%{_datadir}/vulkan/icd.d/intel_icd.*.json
%{_libdir}/libvulkan_intel.so
%if 0%{?with_vulkan_hw}
%{_libdir}/libvulkan_radeon.so
%{_datadir}/drirc.d/00-radv-defaults.conf
%{_datadir}/vulkan/icd.d/radeon_icd.*.json
%if 0%{?with_nvk}
%{_libdir}/libvulkan_nouveau.so
%{_datadir}/vulkan/icd.d/nouveau_icd.*.json
%endif
%files vulkan-devel
%ifarch %{ix86} x86_64
%{_includedir}/vulkan/vulkan_intel.h
%{_libdir}/libvulkan_intel.so
%{_datadir}/vulkan/icd.d/intel_icd.*.json
%{_libdir}/libvulkan_intel_hasvk.so
%{_datadir}/vulkan/icd.d/intel_hasvk_icd.*.json
%endif
%ifarch aarch64 x86_64 %{ix86}
%{_libdir}/libvulkan_broadcom.so
%{_datadir}/vulkan/icd.d/broadcom_icd.*.json
%{_libdir}/libvulkan_freedreno.so
%{_datadir}/vulkan/icd.d/freedreno_icd.*.json
%{_libdir}/libvulkan_panfrost.so
%{_datadir}/vulkan/icd.d/panfrost_icd.*.json
%{_libdir}/libpowervr_rogue.so
%{_libdir}/libvulkan_powervr_mesa.so
%{_datadir}/vulkan/icd.d/powervr_mesa_icd.*.json
%endif
%endif
%changelog
* Thu Feb 29 2024 Vince Perri <viperri@microsoft.com> - 24.0.1-1
- Upgrade to 24.0.1 based on Fedora 40.
- License verified.
* Wed Sep 20 2023 Jon Slobodzian <joslobo@microsoft.com> - 21.0.0-4
- Recompile with stack-protection fixed gcc version (CVE-2023-4039)

Просмотреть файл

@ -0,0 +1,5 @@
{
"Signatures": {
"spirv-headers-sdk-1.3.275.0.tar.gz": "d46b261f1fbc5e85022cb2fada9a6facb5b0c9932b45007a77fe05639a605bd1"
}
}

Просмотреть файл

@ -1,21 +1,24 @@
%global commit b42ba6d92faf6b4938e6f22ddd186dbdacc98d78
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global commit_date 20220117
%global gitrel .%{commit_date}.git%{shortcommit}
%global sdkver 1.3.275.0
Name: spirv-headers
Version: 1.5.5
Release: 1%{?dist}
Release: 2%{?dist}
Summary: Header files from the SPIR-V registry
License: MIT
Vendor: Microsoft Corporation
Distribution: Azure Linux
URL: https://github.com/KhronosGroup
Source0: %url/SPIRV-Headers/archive/%{commit}/%{name}-%{commit}.tar.gz
URL: https://github.com/KhronosGroup/SPIRV-Headers/
Source0: %{url}/archive/refs/tags/vulkan-sdk-%{sdkver}.tar.gz#/%{name}-sdk-%{sdkver}.tar.gz
BuildArch: noarch
BuildRequires: cmake3
BuildRequires: ninja-build
BuildRequires: gcc
BuildRequires: gcc-c++
%description
%{summary}
@ -40,23 +43,29 @@ This includes:
* The XML registry fil
%prep
%autosetup -n SPIRV-Headers-%{commit}
%autosetup -n SPIRV-Headers-vulkan-sdk-%{sdkver}
chmod a-x include/spirv/1.2/spirv.py
%build
%cmake3 -DCMAKE_INSTALL_LIBDIR=%{_lib} -GNinja
%cmake_build
%install
mkdir -p %buildroot%{_includedir}/
mv include/* %buildroot%{_includedir}/
%cmake_install
%files devel
%license LICENSE
%doc README.md
%{_includedir}/spirv/
%{_datadir}/cmake/SPIRV-Headers/*.cmake
%{_datadir}/pkgconfig/SPIRV-Headers.pc
%changelog
* Thu Feb 29 2024 Vince Perri <viperri@microsoft.com> - 1.5.5-2
- Promote and upgrade to SDK 1.3.275 (commit 1c6bb2743599e6eb6f37b2969acc0aef812e32e3) based on Fedora 40.
- License verified.
* Mon Mar 07 2022 Pawel Winogrodzki <pawelwi@microsoft.com> - 1.5.5-1
- Updating to version 1.5.5 + 1.6.1 pre-release commits using Fedora 36 spec (license: MIT) for guidance.
- License verified.

Просмотреть файл

@ -0,0 +1,5 @@
{
"Signatures": {
"spirv-tools-sdk-1.3.275.0.tar.gz": "f6fe32edc00b73400e9d5474d87d474478bf8bc0fb73d2767fecd847c05a4b1d"
}
}

Просмотреть файл

@ -1,5 +1,7 @@
%global sdkver 1.3.275.0
Name: spirv-tools
Version: 2022.1
Version: 2023.2
Release: 1%{?dist}
Summary: API and commands for processing SPIR-V modules
@ -7,9 +9,9 @@ License: ASL 2.0
Vendor: Microsoft Corporation
Distribution: Azure Linux
URL: https://github.com/KhronosGroup/SPIRV-Tools
Source0: %{url}/archive/refs/tags/v%{version}.tar.gz#/SPIRV-Tools-%{version}.tar.gz
Source0: %url/archive/vulkan-sdk-%{sdkver}.tar.gz#/%{name}-sdk-%{sdkver}.tar.gz
Patch0: fix-gcc12-build.patch
Patch0: fix-gcc12-build.patch
BuildRequires: cmake3
BuildRequires: gcc-c++
@ -38,12 +40,11 @@ Requires: %{name}-libs%{?_isa} = %{version}-%{release}
Development files for %{name}
%prep
%autosetup -p1 -n SPIRV-Tools-%{version}
%autosetup -p1 -n SPIRV-Tools-vulkan-sdk-%{sdkver}
%build
%__mkdir_p %_target_platform
pushd %_target_platform
%cmake3 -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_LIBDIR=%{_lib} \
-DSPIRV-Headers_SOURCE_DIR=%{_prefix} \
@ -51,15 +52,12 @@ pushd %_target_platform
-DSPIRV_TOOLS_BUILD_STATIC=OFF \
-GNinja ..
%cmake3_build
popd
%install
%__mkdir_p %_target_platform
pushd %_target_platform
%cmake3_install
popd
%ldconfig_scriptlets libs
@ -73,11 +71,13 @@ popd
%{_bindir}/spirv-lesspipe.sh
%{_bindir}/spirv-link
%{_bindir}/spirv-lint
%{_bindir}/spirv-objdump
%{_bindir}/spirv-opt
%{_bindir}/spirv-reduce
%{_bindir}/spirv-val
%files libs
%{_libdir}/libSPIRV-Tools-diff.so
%{_libdir}/libSPIRV-Tools-link.so
%{_libdir}/libSPIRV-Tools-lint.so
%{_libdir}/libSPIRV-Tools-opt.so
@ -92,6 +92,10 @@ popd
%{_libdir}/pkgconfig/SPIRV-Tools.pc
%changelog
* Thu Feb 29 2024 Vince Perri <viperri@microsoft.com> - 2023.2-1
- Promote and upgrade to 2023.2 based on Fedora 40.
- License verified.
* Fri Mar 04 2022 Pawel Winogrodzki <pawelwi@microsoft.com> - 2022.1-1
- Updating to version 2022.1 using Fedora 36 spec (license: MIT) for guidance.
- License verified.

Просмотреть файл

@ -3820,8 +3820,8 @@
"type": "other",
"other": {
"name": "freeglut",
"version": "3.2.1",
"downloadUrl": "https://downloads.sourceforge.net/freeglut/freeglut-3.2.1.tar.gz"
"version": "3.4.0",
"downloadUrl": "https://downloads.sourceforge.net/freeglut/freeglut-3.4.0.tar.gz"
}
}
},
@ -4405,6 +4405,16 @@
}
}
},
{
"component": {
"type": "other",
"other": {
"name": "glslang",
"version": "14.0.0",
"downloadUrl": "https://github.com/KhronosGroup/glslang/archive/vulkan-sdk-1.3.275.0.tar.gz"
}
}
},
{
"component": {
"type": "other",
@ -7661,8 +7671,8 @@
"type": "other",
"other": {
"name": "jasper",
"version": "2.0.32",
"downloadUrl": "https://github.com/jasper-software/jasper/archive/version-2.0.32.tar.gz"
"version": "4.2.1",
"downloadUrl": "https://github.com/jasper-software/jasper/archive/refs/tags/version-4.2.1.tar.gz"
}
}
},
@ -9421,8 +9431,8 @@
"type": "other",
"other": {
"name": "libglvnd",
"version": "1.3.2",
"downloadUrl": "https://github.com/NVIDIA/libglvnd/archive/v1.3.2/libglvnd-1.3.2.tar.gz"
"version": "1.7.0",
"downloadUrl": "https://gitlab.freedesktop.org/glvnd/libglvnd/-/archive/v1.7.0/libglvnd-1.7.0.tar.gz"
}
}
},
@ -12931,8 +12941,8 @@
"type": "other",
"other": {
"name": "mesa",
"version": "21.0.0",
"downloadUrl": "https://mesa.freedesktop.org/archive/mesa-21.0.0.tar.xz"
"version": "24.0.1",
"downloadUrl": "https://archive.mesa3d.org/mesa-24.0.1.tar.xz"
}
}
},
@ -12941,8 +12951,8 @@
"type": "other",
"other": {
"name": "mesa-libGLU",
"version": "9.0.1",
"downloadUrl": "https://mesa.freedesktop.org/archive/glu/glu-9.0.1.tar.xz"
"version": "9.0.3",
"downloadUrl": "https://gitlab.freedesktop.org/mesa/glu/-/archive/glu-9.0.3/glu-glu-9.0.3.tar.gz"
}
}
},
@ -27727,7 +27737,7 @@
"other": {
"name": "spirv-headers",
"version": "1.5.5",
"downloadUrl": "https://github.com/KhronosGroup/SPIRV-Headers/archive/b42ba6d92faf6b4938e6f22ddd186dbdacc98d78/spirv-headers-b42ba6d92faf6b4938e6f22ddd186dbdacc98d78.tar.gz"
"downloadUrl": "https://github.com/KhronosGroup/SPIRV-Headers//archive/refs/tags/vulkan-sdk-1.3.275.0.tar.gz"
}
}
},
@ -27736,8 +27746,8 @@
"type": "other",
"other": {
"name": "spirv-tools",
"version": "2022.1",
"downloadUrl": "https://github.com/KhronosGroup/SPIRV-Tools/archive/refs/tags/v2022.1.tar.gz"
"version": "2023.2",
"downloadUrl": "https://github.com/KhronosGroup/SPIRV-Tools/archive/vulkan-sdk-1.3.275.0.tar.gz"
}
}
},

Просмотреть файл

@ -58,6 +58,14 @@ version_matching_groups = [
])
]
sdkver_matching_groups = [
frozenset([
"SPECS/glslang/glslang.spec",
"SPECS/spirv-tools/spirv-tools.spec",
"SPECS/spirv-headers/spirv-headers.spec"
])
]
def check_spec_tags(base_path: str, tags: List[str], groups: List[FrozenSet]) -> Set[FrozenSet]:
"""Returns spec sets which violate matching rules for given tags. """
@ -77,6 +85,10 @@ def check_spec_tags(base_path: str, tags: List[str], groups: List[FrozenSet]) ->
return err_groups
def check_sdkver_match_groups(base_path: str) -> Set[FrozenSet]:
return check_spec_tags(base_path, ['sdkver'], sdkver_matching_groups)
def check_version_release_match_groups(base_path: str) -> Set[FrozenSet]:
return check_spec_tags(base_path, ['epoch', 'version', 'release'], version_release_matching_groups)
@ -89,10 +101,11 @@ def check_matches(base_path: str):
version_match_errors = check_version_match_groups(base_path)
version_release_match_errors = check_version_release_match_groups(
base_path)
sdkver_match_errors = check_sdkver_match_groups(base_path)
printer = pprint.PrettyPrinter()
if len(version_match_errors) or len(version_release_match_errors):
if len(version_match_errors) or len(version_release_match_errors) or len(sdkver_match_errors):
print('The current repository state violates a spec entanglement rule!')
if len(version_match_errors):
@ -106,6 +119,13 @@ def check_matches(base_path: str):
'\nPlease update the following sets of specs to have the same "Epoch", "Version", and "Release" tags:')
for e in version_release_match_errors:
printer.pprint(e)
if len(sdkver_match_errors):
print(
'\nPlease update the following sets of specs to have the same "sdkver" global variables:')
for e in sdkver_match_errors:
printer.pprint(e)
sys.exit(1)