Add new packages and build scripts for various libraries
- Added Nuklear GUI library with build script and configuration. - Introduced OpenH264 encoder/decoder with build configuration. - Added PortAudio library for audio I/O with custom build script. - Included Python Execnet for multi-Python deployment. - Added Pytest Xdist plugin for distributed testing. - Introduced Shaderc for shader compilation tools. - Added Snappy compression library with necessary patches and configuration. - Included SoundTouch audio processing library with build configuration. - Added SRT library for secure reliable transport. - Introduced VapourSynth video processing framework with configuration. - Added Vid.stab for video stabilization. - Included WebRTC Audio Processing library with build configuration. - Added X264 video encoding library with patches for POSIX compliance. - Introduced X265 video encoder with build configuration. - Added XKeyboard Config for X keyboard configuration files. - Included Xorg XKBComp for keyboard description compilation. - Added Xvidcore MPEG-4 video codec library with configuration. - Introduced ZeroMQ messaging system with patches and build configuration. - Added Zimg library for scaling and colorspace conversion.
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -187,6 +187,12 @@
|
||||
"${PROJECT_BINARY_DIR}/config.h"
|
||||
)
|
||||
|
||||
+configure_file(
|
||||
+ "${CMAKE_CURRENT_SOURCE_DIR}/snappy.pc.in"
|
||||
+ "${CMAKE_CURRENT_BINARY_DIR}/snappy.pc"
|
||||
+ @ONLY
|
||||
+)
|
||||
+
|
||||
# We don't want to define HAVE_ macros in public headers. Instead, we use
|
||||
# CMake's variable substitution with 0/1 variables, which will be seen by the
|
||||
# preprocessor as constants.
|
||||
@@ -395,4 +401,8 @@
|
||||
"${PROJECT_BINARY_DIR}/cmake/${PROJECT_NAME}ConfigVersion.cmake"
|
||||
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}"
|
||||
)
|
||||
+ install(
|
||||
+ FILES "${PROJECT_BINARY_DIR}/snappy.pc"
|
||||
+ DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig"
|
||||
+ )
|
||||
endif(SNAPPY_INSTALL)
|
||||
@@ -0,0 +1,25 @@
|
||||
diff --unified --recursive --text --new-file snappy-1.2.2.orig/CMakeLists.txt snappy-1.2.2/CMakeLists.txt
|
||||
--- snappy-1.2.2.orig/CMakeLists.txt 2025-04-19 23:20:48.985433149 +0200
|
||||
+++ snappy-1.2.2/CMakeLists.txt 2025-04-19 23:20:27.703912696 +0200
|
||||
@@ -51,10 +51,6 @@
|
||||
string(REGEX REPLACE "/EH[a-z]+" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHs-c-")
|
||||
add_definitions(-D_HAS_EXCEPTIONS=0)
|
||||
-
|
||||
- # Disable RTTI.
|
||||
- string(REGEX REPLACE "/GR" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
|
||||
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /GR-")
|
||||
else(MSVC)
|
||||
# Use -Wall for clang and gcc.
|
||||
if(NOT CMAKE_CXX_FLAGS MATCHES "-Wall")
|
||||
@@ -81,10 +77,6 @@
|
||||
# Disable C++ exceptions.
|
||||
string(REGEX REPLACE "-fexceptions" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-exceptions")
|
||||
-
|
||||
- # Disable RTTI.
|
||||
- string(REGEX REPLACE "-frtti" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
|
||||
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti")
|
||||
endif(MSVC)
|
||||
|
||||
# BUILD_SHARED_LIBS is a standard CMake variable, but we declare it here to make
|
||||
@@ -0,0 +1,27 @@
|
||||
diff --unified --recursive --text --new-file snappy-1.2.1.orig/CMakeLists.txt snappy-1.2.1/CMakeLists.txt
|
||||
--- snappy-1.2.1.orig/CMakeLists.txt 2024-09-25 22:35:44.563365640 +0200
|
||||
+++ snappy-1.2.1/CMakeLists.txt 2024-09-25 22:40:22.273395168 +0200
|
||||
@@ -331,19 +331,18 @@
|
||||
set(install_gmock OFF)
|
||||
set(build_gmock ON)
|
||||
|
||||
- # This project is tested using GoogleTest.
|
||||
- add_subdirectory("third_party/googletest")
|
||||
+ find_package(GTest REQUIRED)
|
||||
|
||||
# GoogleTest triggers a missing field initializers warning.
|
||||
if(SNAPPY_HAVE_NO_MISSING_FIELD_INITIALIZERS)
|
||||
- set_property(TARGET gtest
|
||||
+ set_property(TARGET GTest::gtest
|
||||
APPEND PROPERTY COMPILE_OPTIONS -Wno-missing-field-initializers)
|
||||
- set_property(TARGET gmock
|
||||
+ set_property(TARGET GTest::gmock
|
||||
APPEND PROPERTY COMPILE_OPTIONS -Wno-missing-field-initializers)
|
||||
endif(SNAPPY_HAVE_NO_MISSING_FIELD_INITIALIZERS)
|
||||
|
||||
if(SNAPPY_HAVE_NO_IMPLICIT_INT_FLOAT_CONVERSION)
|
||||
- set_property(TARGET gtest
|
||||
+ set_property(TARGET GTest::gtest
|
||||
APPEND PROPERTY COMPILE_OPTIONS -Wno-implicit-int-float-conversion)
|
||||
endif(SNAPPY_HAVE_NO_IMPLICIT_INT_FLOAT_CONVERSION)
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
prefix=@CMAKE_INSTALL_PREFIX@
|
||||
exec_prefix=${prefix}
|
||||
libdir=${prefix}/lib
|
||||
includedir=${prefix}/include
|
||||
|
||||
Name: snappy
|
||||
Description: Fast compressor/decompressor library.
|
||||
Version: @PROJECT_VERSION@
|
||||
Libs: -L${libdir} -lsnappy
|
||||
Cflags: -I${includedir}
|
||||
@@ -0,0 +1,42 @@
|
||||
[build]
|
||||
type = "cmake"
|
||||
|
||||
[build.flags]
|
||||
build_dir = "build"
|
||||
configure = [
|
||||
"-Wno-dev",
|
||||
"-DCMAKE_CXX_STANDARD=23",
|
||||
"-DBUILD_SHARED_LIBS=ON",
|
||||
"-DSNAPPY_BUILD_TESTS=OFF",
|
||||
"-DSNAPPY_BUILD_BENCHMARKS=OFF",
|
||||
"-G Ninja"
|
||||
]
|
||||
|
||||
[dependencies]
|
||||
build = [
|
||||
"cmake",
|
||||
"ninja",
|
||||
"gtest",
|
||||
]
|
||||
runtime = [
|
||||
"glibc",
|
||||
"libcxx",
|
||||
]
|
||||
test = ["zlib-ng"]
|
||||
|
||||
[package]
|
||||
description = "A fast compressor/decompressor library"
|
||||
homepage = "https://github.com/google/snappy"
|
||||
license = "BSD-3-Clause"
|
||||
name = "snappy"
|
||||
version = "1.2.2"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
url = "https://github.com/google/snappy.git#$version"
|
||||
post_extract = [ "cp ../snappy.pc.in ." ]
|
||||
patches = [ "snappy-cmake_add_pkgconfig.patch", "snappy-reenable_rtti.patch", "snappy-use_system_gtest.patch" ]
|
||||
|
||||
[[manual_sources]]
|
||||
files = [ "snappy-cmake_add_pkgconfig.patch", "snappy-reenable_rtti.patch", "snappy-use_system_gtest.patch", "snappy.pc.in" ]
|
||||
|
||||
Reference in New Issue
Block a user