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:
2026-03-25 05:32:53 -05:00
parent 49bf7bbb5d
commit 47993f6730
99 changed files with 3752 additions and 3 deletions
+13
View File
@@ -0,0 +1,13 @@
[build]
type = "custom"
[package]
description = "Header files for AMD Advanced Media Framework"
homepage = "https://github.com/GPUOpen-LibrariesAndSDKs/AMF/"
license = "MIT"
name = "amf-headers"
version = "1.5.0"
[[source]]
extract_dir = "$name-$version"
url = "https://github.com/GPUOpen-LibrariesAndSDKs/AMF.git#v$version"
+2
View File
@@ -0,0 +1,2 @@
install -dm 755 "$DESTDIR"/usr/include
cp -dr --no-preserve=ownership amf/public/include "$DESTDIR"/usr/include/AMF
@@ -0,0 +1,316 @@
From d1a32d5229602f181574c95fa0db68bcf1762606 Mon Sep 17 00:00:00 2001
From: Stephen Hutchinson <qyot27@gmail.com>
Date: Sun, 27 Jul 2025 21:57:00 -0400
Subject: [PATCH] Cache: Avoid naming collision
---
avs_core/core/avisynth.cpp | 22 +++++++++----------
avs_core/core/cache.cpp | 42 ++++++++++++++++++-------------------
avs_core/core/cache.h | 6 +++---
avs_core/include/avisynth.h | 4 ++--
4 files changed, 37 insertions(+), 37 deletions(-)
diff --git a/avs_core/core/avisynth.cpp b/avs_core/core/avisynth.cpp
index 3f4064ebb..a49038f32 100644
--- a/avs_core/core/avisynth.cpp
+++ b/avs_core/core/avisynth.cpp
@@ -1070,7 +1070,7 @@ class ScriptEnvironment {
typedef std::vector<DebugTimestampedFrame> VideoFrameArrayType;
typedef std::map<VideoFrameBuffer *, VideoFrameArrayType> FrameBufferRegistryType;
typedef std::map<size_t, FrameBufferRegistryType> FrameRegistryType2; // post r1825 P.F.
- typedef mapped_list<Cache*> CacheRegistryType;
+ typedef mapped_list<AvsCache*> CacheRegistryType;
FrameRegistryType2 FrameRegistry2; // P.F.
@@ -1080,7 +1080,7 @@ class ScriptEnvironment {
std::unique_ptr<DeviceManager> Devices;
CacheRegistryType CacheRegistry;
- Cache* FrontCache;
+ AvsCache* FrontCache;
VideoFrame* GetNewFrame(size_t vfb_size, size_t margin, Device* device);
VideoFrame* GetFrameFromRegistry(size_t vfb_size, Device* device);
void ShrinkCache(Device* device);
@@ -3605,7 +3605,7 @@ VideoFrame* ScriptEnvironment::GetNewFrame(size_t vfb_size, size_t margin, Devic
for (auto &cit: CacheRegistry)
{
cache_counter++;
- Cache* cache = cit;
+ AvsCache* cache = cit;
int cache_size = cache->SetCacheHints(CACHE_GET_SIZE, 0);
_RPT4(0, " cache#%d cache_ptr=%p cache_size=%d \n", cache_counter, (void*)cache, cache_size); // let's see what's in the cache
}
@@ -3729,7 +3729,7 @@ void ScriptEnvironment::ShrinkCache(Device *device)
// We try to shrink least recently used caches first.
- Cache* cache = cit;
+ AvsCache* cache = cit;
if (cache->GetDevice() != device) {
continue;
}
@@ -4206,7 +4206,7 @@ void* ScriptEnvironment::ManageCache(int key, void* data) {
// Called by Cache instances upon creation
case MC_RegisterCache:
{
- Cache* cache = reinterpret_cast<Cache*>(data);
+ AvsCache* cache = reinterpret_cast<AvsCache*>(data);
if (FrontCache != NULL)
CacheRegistry.push_back(FrontCache);
FrontCache = cache;
@@ -4215,7 +4215,7 @@ void* ScriptEnvironment::ManageCache(int key, void* data) {
// Called by Cache instances upon destruction
case MC_UnRegisterCache:
{
- Cache* cache = reinterpret_cast<Cache*>(data);
+ AvsCache* cache = reinterpret_cast<AvsCache*>(data);
if (FrontCache == cache)
FrontCache = NULL;
else
@@ -4225,7 +4225,7 @@ void* ScriptEnvironment::ManageCache(int key, void* data) {
// Called by Cache instances when they want to expand their limit
case MC_NodAndExpandCache:
{
- Cache* cache = reinterpret_cast<Cache*>(data);
+ AvsCache* cache = reinterpret_cast<AvsCache*>(data);
// Nod
if (cache != FrontCache)
@@ -4249,7 +4249,7 @@ void* ScriptEnvironment::ManageCache(int key, void* data) {
// If we don't have enough free reserves, take away a cache slot from
// a cache instance that hasn't been used since long.
- for (Cache* old_cache : CacheRegistry)
+ for (AvsCache* old_cache : CacheRegistry)
{
if (old_cache->GetDevice() != device) {
continue;
@@ -4272,7 +4272,7 @@ void* ScriptEnvironment::ManageCache(int key, void* data) {
// Called by Cache instances when they are accessed
case MC_NodCache:
{
- Cache* cache = reinterpret_cast<Cache*>(data);
+ AvsCache* cache = reinterpret_cast<AvsCache*>(data);
if (cache == FrontCache) {
return 0;
}
@@ -5127,11 +5127,11 @@ bool ScriptEnvironment::Invoke_(AVSValue *result, const AVSValue& implicit_last,
#ifdef _DEBUG
if (PrevFrontCache != FrontCache && FrontCache != NULL) // cache registering swaps frontcache to the current
{
- _RPT2(0, "ScriptEnvironment::Invoke done Cache::Create %s cache_id=%p\r\n", name, (void*)FrontCache);
+ _RPT2(0, "ScriptEnvironment::Invoke done AvsCache::Create %s cache_id=%p\r\n", name, (void*)FrontCache);
FrontCache->FuncName = name; // helps debugging. See also in cache.cpp
}
else {
- _RPT1(0, "ScriptEnvironment::Invoke done Cache::Create %s\r\n", name);
+ _RPT1(0, "ScriptEnvironment::Invoke done AvsCache::Create %s\r\n", name);
}
#endif
}
diff --git a/avs_core/core/cache.cpp b/avs_core/core/cache.cpp
index f731caa19..f2e61a03a 100644
--- a/avs_core/core/cache.cpp
+++ b/avs_core/core/cache.cpp
@@ -117,7 +117,7 @@ struct CachePimpl
};
-Cache::Cache(const PClip& _child, Device* device, std::mutex& CacheGuardMutex, InternalEnvironment* env) :
+AvsCache::AvsCache(const PClip& _child, Device* device, std::mutex& CacheGuardMutex, InternalEnvironment* env) :
Env(env),
_pimpl(NULL),
device(device),
@@ -125,7 +125,7 @@ Cache::Cache(const PClip& _child, Device* device, std::mutex& CacheGuardMutex, I
{
_pimpl = new CachePimpl(_child, env->GetCacheMode());
env->ManageCache(MC_RegisterCache, reinterpret_cast<void*>(this));
- _RPT5(0, "Cache::Cache registered. cache_id=%p child=%p w=%d h=%d VideoCacheSize=%Iu\n", (void*)this, (void*)_child, _pimpl->vi.width, _pimpl->vi.height, _pimpl->VideoCache->size());
+ _RPT5(0, "AvsCache::AvsCache registered. cache_id=%p child=%p w=%d h=%d VideoCacheSize=%Iu\n", (void*)this, (void*)_child, _pimpl->vi.width, _pimpl->vi.height, _pimpl->VideoCache->size());
const int dummy = 0;
// child is usually MTGuard, which forwards this request to its child filter - the real one
@@ -150,14 +150,14 @@ Cache::Cache(const PClip& _child, Device* device, std::mutex& CacheGuardMutex, I
}
}
-Cache::~Cache()
+AvsCache::~AvsCache()
{
- _RPT5(0, "Cache::Cache unregister. cache_id=%p child=%p w=%d h=%d VideoCacheSize=%Iu\n", (void *)this, (void *)_pimpl->child, _pimpl->vi.width, _pimpl->vi.height, _pimpl->VideoCache->size()); // P.F.
+ _RPT5(0, "AvsCache::AvsCache unregister. cache_id=%p child=%p w=%d h=%d VideoCacheSize=%Iu\n", (void *)this, (void *)_pimpl->child, _pimpl->vi.width, _pimpl->vi.height, _pimpl->VideoCache->size()); // P.F.
Env->ManageCache(MC_UnRegisterCache, reinterpret_cast<void*>(this));
delete _pimpl;
}
-PVideoFrame __stdcall Cache::GetFrame(int n, IScriptEnvironment* env_)
+PVideoFrame __stdcall AvsCache::GetFrame(int n, IScriptEnvironment* env_)
{
#ifdef _DEBUG
constexpr auto BUFSIZE = 255;
@@ -186,10 +186,10 @@ PVideoFrame __stdcall Cache::GetFrame(int n, IScriptEnvironment* env_)
LruLookupResult LruLookupRes = _pimpl->VideoCache->lookup(n, &cache_handle, true, result, &env->GetSupressCaching());
/*
std::string name = FuncName;
- snprintf(buf.get(), BUFSIZE, "Cache::GetFrame lookup follows: [%s] n=%6d Thread=%zu", name.c_str(), n, env->GetEnvProperty(AEP_THREAD_ID));
+ snprintf(buf.get(), BUFSIZE, "AvsCache::GetFrame lookup follows: [%s] n=%6d Thread=%zu", name.c_str(), n, env->GetEnvProperty(AEP_THREAD_ID));
_RPT0(0, buf.get());
- snprintf(buf.get(), BUFSIZE, "Cache::GetFrame lookup ready: [%s] n=%6d Thread=%zu res=%d", name.c_str(), n, env->GetEnvProperty(AEP_THREAD_ID), (int)LruLookupRes);
+ snprintf(buf.get(), BUFSIZE, "AvsCache::GetFrame lookup ready: [%s] n=%6d Thread=%zu res=%d", name.c_str(), n, env->GetEnvProperty(AEP_THREAD_ID), (int)LruLookupRes);
_RPT0(0, buf.get());
*/
@@ -208,7 +208,7 @@ PVideoFrame __stdcall Cache::GetFrame(int n, IScriptEnvironment* env_)
try
{
#ifdef _DEBUG
- snprintf(buf.get(), BUFSIZE, "Cache::GetFrame LRU_LOOKUP_NOT_FOUND: [%s] n=%6d child=%p\n", name.c_str(), n, (void*)_pimpl->child); // P.F.
+ snprintf(buf.get(), BUFSIZE, "AvsCache::GetFrame LRU_LOOKUP_NOT_FOUND: [%s] n=%6d child=%p\n", name.c_str(), n, (void*)_pimpl->child); // P.F.
_RPT0(0, buf.get());
#endif
//cache_handle.first->value = _pimpl->child->GetFrame(n, env);
@@ -238,10 +238,10 @@ PVideoFrame __stdcall Cache::GetFrame(int n, IScriptEnvironment* env_)
std::chrono::duration<double> elapsed_seconds = t_end - t_start;
std::string name = FuncName;
if (NULL == cache_handle.first->value) {
- snprintf(buf.get(), BUFSIZE, "Cache::GetFrame LRU_LOOKUP_NOT_FOUND: HEY! got nulled! [%s] n=%6d child=%p frame=%p framebefore=%p SeekTimeWithGetFrame:%f\n", name.c_str(), n, (void *)_pimpl->child, (void *)cache_handle.first->value, (void *)result, elapsed_seconds.count()); // P.F.
+ snprintf(buf.get(), BUFSIZE, "AvsCache::GetFrame LRU_LOOKUP_NOT_FOUND: HEY! got nulled! [%s] n=%6d child=%p frame=%p framebefore=%p SeekTimeWithGetFrame:%f\n", name.c_str(), n, (void *)_pimpl->child, (void *)cache_handle.first->value, (void *)result, elapsed_seconds.count()); // P.F.
_RPT0(0, buf.get());
} else {
- snprintf(buf.get(), BUFSIZE, "Cache::GetFrame LRU_LOOKUP_NOT_FOUND: [%s] n=%6d child=%p frame=%p framebefore=%p videoCacheSize=%zu SeekTimeWithGetFrame:%f\n", name.c_str(), n, (void *)_pimpl->child, (void *)cache_handle.first->value, (void *)result, _pimpl->VideoCache->size(), elapsed_seconds.count()); // P.F.
+ snprintf(buf.get(), BUFSIZE, "AvsCache::GetFrame LRU_LOOKUP_NOT_FOUND: [%s] n=%6d child=%p frame=%p framebefore=%p videoCacheSize=%zu SeekTimeWithGetFrame:%f\n", name.c_str(), n, (void *)_pimpl->child, (void *)cache_handle.first->value, (void *)result, _pimpl->VideoCache->size(), elapsed_seconds.count()); // P.F.
_RPT0(0, buf.get());
}
#endif
@@ -261,7 +261,7 @@ PVideoFrame __stdcall Cache::GetFrame(int n, IScriptEnvironment* env_)
t_end = std::chrono::high_resolution_clock::now();
std::chrono::duration<double> elapsed_seconds = t_end - t_start;
std::string name = FuncName;
- snprintf(buf.get(), BUFSIZE, "Cache::GetFrame LRU_LOOKUP_FOUND_AND_READY: [%s] n=%6d child=%p frame=%p vfb=%p videoCacheSize=%zu SeekTime :%f\n", name.c_str(), n, (void *)_pimpl->child, (void *)result, (void *)result->GetFrameBuffer(), _pimpl->VideoCache->size(), elapsed_seconds.count());
+ snprintf(buf.get(), BUFSIZE, "AvsCache::GetFrame LRU_LOOKUP_FOUND_AND_READY: [%s] n=%6d child=%p frame=%p vfb=%p videoCacheSize=%zu SeekTime :%f\n", name.c_str(), n, (void *)_pimpl->child, (void *)result, (void *)result->GetFrameBuffer(), _pimpl->VideoCache->size(), elapsed_seconds.count());
_RPT0(0, buf.get());
assert(result != NULL);
#endif
@@ -270,14 +270,14 @@ PVideoFrame __stdcall Cache::GetFrame(int n, IScriptEnvironment* env_)
case LRU_LOOKUP_NO_CACHE:
{
#ifdef _DEBUG
- snprintf(buf.get(), BUFSIZE, "Cache::GetFrame <Before GetFrame> LRU_LOOKUP_NO_CACHE: [%s] n=%6d child=%p\n", name.c_str(), n, (void*)_pimpl->child); // P.F.
+ snprintf(buf.get(), BUFSIZE, "AvsCache::GetFrame <Before GetFrame> LRU_LOOKUP_NO_CACHE: [%s] n=%6d child=%p\n", name.c_str(), n, (void*)_pimpl->child); // P.F.
_RPT0(0, buf.get());
#endif
result = _pimpl->child->GetFrame(n, env);
#ifdef _DEBUG
t_end = std::chrono::high_resolution_clock::now();
std::chrono::duration<double> elapsed_seconds = t_end - t_start;
- snprintf(buf.get(), BUFSIZE, "Cache::GetFrame <After GetFrame> LRU_LOOKUP_NO_CACHE: [%s] n=%6d child=%p frame=%p vfb=%p videoCacheSize=%zu SeekTime :%f\n", name.c_str(), n, (void *)_pimpl->child, (void *)result, (void *)result->GetFrameBuffer(), _pimpl->VideoCache->size(), elapsed_seconds.count()); // P.F.
+ snprintf(buf.get(), BUFSIZE, "AvsCache::GetFrame <After GetFrame> LRU_LOOKUP_NO_CACHE: [%s] n=%6d child=%p frame=%p vfb=%p videoCacheSize=%zu SeekTime :%f\n", name.c_str(), n, (void *)_pimpl->child, (void *)result, (void *)result->GetFrameBuffer(), _pimpl->VideoCache->size(), elapsed_seconds.count()); // P.F.
_RPT0(0, buf.get());
#endif
break;
@@ -293,13 +293,13 @@ PVideoFrame __stdcall Cache::GetFrame(int n, IScriptEnvironment* env_)
return result;
}
-void Cache::FillAudioZeros(void* buf, size_t start_offset, size_t count) {
+void AvsCache::FillAudioZeros(void* buf, size_t start_offset, size_t count) {
const int bps = _pimpl->vi.BytesPerAudioSample();
unsigned char* byte_buf = (unsigned char*)buf;
memset(byte_buf + start_offset * bps, 0, count * bps);
}
-void __stdcall Cache::GetAudio(void* buf, int64_t start, int64_t count, IScriptEnvironment* env)
+void __stdcall AvsCache::GetAudio(void* buf, int64_t start, int64_t count, IScriptEnvironment* env)
{
if (count <= 0)
return;
@@ -439,19 +439,19 @@ void __stdcall Cache::GetAudio(void* buf, int64_t start, int64_t count, IScriptE
}
-const VideoInfo& __stdcall Cache::GetVideoInfo()
+const VideoInfo& __stdcall AvsCache::GetVideoInfo()
{
return _pimpl->vi;
}
-bool __stdcall Cache::GetParity(int n)
+bool __stdcall AvsCache::GetParity(int n)
{
return _pimpl->child->GetParity(n);
}
-int __stdcall Cache::SetCacheHints(int cachehints, int frame_range)
+int __stdcall AvsCache::SetCacheHints(int cachehints, int frame_range)
{
- // _RPT3(0, "Cache::SetCacheHints called. cache=%p hint=%d frame_range=%d\n", (void *)this, cachehints, frame_range);
+ // _RPT3(0, "AvsCache::SetCacheHints called. cache=%p hint=%d frame_range=%d\n", (void *)this, cachehints, frame_range);
switch(cachehints)
{
/*********************************************
@@ -490,7 +490,7 @@ int __stdcall Cache::SetCacheHints(int cachehints, int frame_range)
_pimpl->VideoCache->limits(&min, &max);
max = frame_range;
_pimpl->VideoCache->set_limits(min, max);
- _RPT3(0, "Cache::SetCacheHints CACHE_SET_MAX_CAPACITY cache=%p hint=%d frame_range=%d\n", (void *)this, cachehints, frame_range);
+ _RPT3(0, "AvsCache::SetCacheHints CACHE_SET_MAX_CAPACITY cache=%p hint=%d frame_range=%d\n", (void *)this, cachehints, frame_range);
break;
}
@@ -636,7 +636,7 @@ PClip CacheGuard::GetCache(IScriptEnvironment* env_)
}
// not found for current device, create it
- Cache* cache = new Cache(child, device, /*ref*/mutex, static_cast<InternalEnvironment*>(globalEnv));
+ AvsCache* cache = new AvsCache(child, device, /*ref*/mutex, static_cast<InternalEnvironment*>(globalEnv));
// apply cache hints if it is changed
if (hints.min != hints.default_min)
diff --git a/avs_core/core/cache.h b/avs_core/core/cache.h
index 640b653d6..1a453be6b 100644
--- a/avs_core/core/cache.h
+++ b/avs_core/core/cache.h
@@ -43,7 +43,7 @@
struct CachePimpl;
class InternalEnvironment;
-class Cache : public IClip
+class AvsCache : public IClip
{
private:
@@ -58,8 +58,8 @@ class Cache : public IClip
#ifdef _DEBUG
std::string FuncName = ""; // P.F. Invoked function's name whose queue owns the cache object
#endif
- Cache(const PClip& child, Device* device, std::mutex &CacheGuardMutex, InternalEnvironment* env);
- ~Cache();
+ AvsCache(const PClip& child, Device* device, std::mutex &CacheGuardMutex, InternalEnvironment* env);
+ ~AvsCache();
PVideoFrame __stdcall GetFrame(int n, IScriptEnvironment* env);
void __stdcall GetAudio(void* buf, int64_t start, int64_t count, IScriptEnvironment* env);
const VideoInfo& __stdcall GetVideoInfo();
diff --git a/avs_core/include/avisynth.h b/avs_core/include/avisynth.h
index 93fa0e57f..03a40c618 100644
--- a/avs_core/include/avisynth.h
+++ b/avs_core/include/avisynth.h
@@ -1007,7 +1007,7 @@ class VideoFrameBuffer {
volatile long sequence_number;
friend class VideoFrame;
- friend class Cache;
+ friend class AvsCache;
friend class ScriptEnvironment;
volatile long refcount;
@@ -1101,7 +1101,7 @@ class VideoFrame {
void Release();
friend class ScriptEnvironment;
- friend class Cache;
+ friend class AvsCache;
VideoFrame(VideoFrameBuffer* _vfb, AVSMap* avsmap, int _offset, int _pitch, int _row_size, int _height, int _pixel_type);
VideoFrame(VideoFrameBuffer* _vfb, AVSMap* avsmap, int _offset, int _pitch, int _row_size, int _height, int _offsetU, int _offsetV, int _pitchUV, int _row_sizeUV, int _heightUV, int _pixel_type);
+40
View File
@@ -0,0 +1,40 @@
[build]
type = "cmake"
[build.flags]
build_dir = "build"
configure = ["-Wno-dev", '-DCMAKE_CXX_FLAGS="-I/usr/include/soundtouch"']
post_install = [ "install -D -m644 ../avisynthplus.xml -t $DESTDIR/usr/share/mime/packages" ]
[dependencies]
build = [
"cmake",
"soundtouch",
"devil",
]
optional = [
"devil",
"soundtouch",
]
runtime = [
"glibc",
"hicolor-icon-theme",
"libunwind",
"libcxx",
]
[package]
description = "An improved version of the AviSynth frameserver"
homepage = "https://avs-plus.net/"
license = "GPL-2.0-or-later"
name = "avisynthplus"
version = "3.7.5"
[[source]]
extract_dir = "$name-$version"
url = "https://github.com/AviSynth/AviSynthPlus.git#v$version"
patches = [ "010-avisynthplus-fix-symbol-conflict-with-vmaf.patch" ]
post_extract = [ "rm avs_core/include/avisynth.h.orig" ]
[[manual_sources]]
files = [ "avisynthplus.xml", "010-avisynthplus-fix-symbol-conflict-with-vmaf.patch" ]
+9
View File
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
<mime-type type="text/x-avs">
<glob pattern="*.avs"/>
<glob pattern="*.avsi"/>
<icon name="avisynthplus-script"/>
<comment>AviSynthPlus script</comment>
</mime-type>
</mime-info>
+30
View File
@@ -0,0 +1,30 @@
[build]
type = "autotools"
[build.flags]
configure = [
"--enable-automated",
"--enable-basic",
"--enable-console",
"--enable-test",
"--enable-shared",
"--disable-static",
]
post_install = [ 'rm -r "$DESTDIR/usr/share/CUnit"', 'mv "$DESTDIR/usr/doc" "$DESTDIR/usr/share/"' ]
[dependencies]
runtime = ["glibc"]
[package]
description = "Unit Testing Framework for C"
homepage = "http://cunit.sourceforge.net/"
license = "LGPL-2.1-or-Later"
name = "cunit"
version = "2.1.3"
[[source]]
extract_dir = "$name-$version"
sha256 = "f5b29137f845bb08b77ec60584fdb728b4e58f1023e6f249a464efa49a40f214"
url = "https://downloads.sourceforge.net/project/cunit/CUnit/2.1-3/CUnit-2.1-3.tar.bz2"
post_extract = [ "autoreconf -fiv" ]
+31
View File
@@ -0,0 +1,31 @@
[build]
type = "cmake"
[build.flags]
build_dir = "build"
source_subdir = "DevIL"
configure = [ "-DCMAKE_POLICY_VERSION_MINIMUM=3.5", "-DCMAKE_CXX_STANDARD=14" ]
[dependencies]
build = ["cmake"]
runtime = [
"libpng",
"jasper",
"lcms2",
"libjpeg-turbo",
]
[package]
description = "Library for reading several different image formats"
homepage = "https://sourceforge.net/projects/openil/"
license = "LGPL-2.1-or-Later"
name = "devil"
version = "1.8.0"
[[source]]
extract_dir = "$name-$version"
url = "https://github.com/DentonW/DevIL.git#v$version"
patches = [ "jasper.patch", "soversion.patch" ]
[[manual_sources]]
files = [ "jasper.patch", "soversion.patch" ]
+35
View File
@@ -0,0 +1,35 @@
--- a/DevIL/src-IL/src/il_jp2.cpp
+++ b/DevIL/src-IL/src/il_jp2.cpp
@@ -313,14 +313,32 @@ }
-
+// Hack to compile against different versions of Jasper which expect
+// slightly different function types for their callbacks. The defined()
+// checks are just looking for sybols that happen to have arrived around
+// the same time as the API change, so no reason they won't break in the
+// future :-( Hopefully by the time it does nobody will care about pre-2.0.20
+// versions of jasper
+//
+// see: https://github.com/OSGeo/gdal/commit/9ef8e16e27c5fc4c491debe50bf2b7f3e94ed334
+// https://github.com/DentonW/DevIL/issues/90
+#if defined(PRIjas_seqent)
+static ssize_t iJp2_file_read(jas_stream_obj_t *obj, char *buf, size_t cnt)
+#else
static int iJp2_file_read(jas_stream_obj_t *obj, char *buf, int cnt)
+#endif
{
obj;
return iread(buf, 1, cnt);
}
+#if defined(JAS_INCLUDE_JP2_CODEC)
+static ssize_t iJp2_file_write(jas_stream_obj_t *obj, const char *buf, size_t cnt)
+#elif defined(PRIjas_seqent)
+static int iJp2_file_write(jas_stream_obj_t *obj, char *buf, unsigned cnt)
+#else
static int iJp2_file_write(jas_stream_obj_t *obj, char *buf, int cnt)
+#endif
{
obj;
return iwrite(buf, 1, cnt);
+30
View File
@@ -0,0 +1,30 @@
--- a/DevIL/src-IL/CMakeLists.txt
+++ b/DevIL/src-IL/CMakeLists.txt
@@ -58,6 +58,7 @@ source_group("Text Files" FILES ${DevIL_TXT} )
if(BUILD_SHARED_LIBS)
add_library(IL SHARED ${DevIL_SRCS} ${DevIL_INC} ${DevIL_RSRC} ${DevIL_TXT})
+ set_target_properties(IL PROPERTIES SOVERSION 1)
else(BUILD_SHARED_LIBS)
add_library(IL ${DevIL_SRCS} ${DevIL_INC} ${DevIL_RSRC} ${DevIL_TXT})
endif(BUILD_SHARED_LIBS)
--- a/DevIL/src-ILU/CMakeLists.txt
+++ b/DevIL/src-ILU/CMakeLists.txt
@@ -44,6 +44,7 @@ source_group("Resource Files" FILES ${ILU_RSRC} )
# Remove SHARED to create a static library
add_library(ILU SHARED ${ILU_SRCS} ${ILU_INC} ${ILU_RSRC})
+set_target_properties(ILU PROPERTIES SOVERSION 1)
## ILU requires IL
--- a/DevIL/src-ILUT/CMakeLists.txt
+++ b/DevIL/src-ILUT/CMakeLists.txt
@@ -44,6 +44,7 @@ source_group("Resource Files" FILES ${ILUT_RSRC} )
# Remove SHARED to create a static library
add_library(ILUT SHARED ${ILUT_SRCS} ${ILUT_INC} ${ILUT_RSRC})
+set_target_properties(ILUT PROPERTIES SOVERSION 1)
## add link sub library info
target_link_libraries(ILUT
+27
View File
@@ -0,0 +1,27 @@
[build]
type = "autotools"
[build.flags]
skip_tests = true # flaky
[dependencies]
runtime = [
"libunwind",
"glibc",
]
test = [
"dbus",
"procps-ng",
]
[package]
description = "Embedded Linux library"
homepage = "https://git.kernel.org/pub/scm/libs/ell/ell.git/"
license = "LGPL-2.1-or-later"
name = "ell"
version = "0.83"
[[source]]
extract_dir = "$name-$version"
sha256 = "39a562f5ab2768e69da1ffbb1f98a8eb3483baffc7d2ef6adc3705e4fd4e53fb"
url = "https://mirrors.edge.kernel.org/pub/linux/libs/$name/$name-$version.tar.xz"
@@ -0,0 +1,21 @@
[build]
type = "makefile"
[build.flags]
makefile_commands = [
"make PREFIX=/usr",
"sed -n '4,25p' include/ffnvcodec/nvEncodeAPI.h > LICENSE",
'''sed -i '1,22s/^.\{,3\}//' LICENSE''',
]
makefile_install_commands = ['make PREFIX=/usr DESTDIR="$DESTDIR" install']
[package]
description = "FFmpeg version of headers required to interface with Nvidias codec APIs"
homepage = "https://git.videolan.org/?p=ffmpeg/nv-codec-headers.git"
license = "MIT"
name = "ffnvcodec-headers"
version = "13.0.19.0"
[[source]]
extract_dir = "$name-$version"
url = "https://git.videolan.org/git/ffmpeg/nv-codec-headers.git#e844e5b26f46bb77479f063029595293aa8f812d"
+33
View File
@@ -0,0 +1,33 @@
[build]
type = "cmake"
[build.flags]
build_dir = "build"
configure = [ "-DWITHOUT_OPENCV=ON" ]
[dependencies]
build = [
"cairo",
"cmake",
"gavl",
]
optional = [
"cairo",
"gavl",
]
runtime = [
"glibc",
"libunwind",
"libcxx",
]
[package]
description = "Collection of video effect plugins"
homepage = "https://frei0r.dyne.org/"
license = "GPL-2.0-or-later"
name = "frei0r-plugins"
version = "2.5.6"
[[source]]
extract_dir = "$name-$version"
url = "https://github.com/dyne/frei0r#v$version"
+35
View File
@@ -0,0 +1,35 @@
[build]
type = "autotools"
[build.flags]
configure = ["--with-cpuflags=none"]
[dependencies]
build = [
"doxygen",
"libpng",
]
runtime = [
"glibc",
"nettle",
"gnutls",
"libdrm",
"libgl",
"libva",
]
[package]
description = "Low level library, upon which multimedia APIs can be built"
homepage = "https://github.com/bplaum/gavl"
license = "GPL-2.0-or-later"
name = "gavl"
version = "2.0.0"
[[source]]
extract_dir = "$name-$version"
url = "https://github.com/bplaum/gavl.git#v$version"
post_extract = [
"autoreconf -fiv",
"sed -i 's/^const int gavl_http_response_get_status_int(/int gavl_http_response_get_status_int(/' include/gavl/http.h",
]
cherry_pick = [ "0d2fb32914be97da389be4b693de036fd0da5b1b" ]
+24
View File
@@ -0,0 +1,24 @@
[build]
type = "python"
[dependencies]
build = [
"python-wheel",
]
runtime = [
"python",
"python-jinja",
"python-lxml",
"python-setuptools"
]
[package]
description = "Multi-Language Vulkan/GL/GLES/EGL/GLX/WGL Loader-Generator based on the official specs"
homepage = "https://github.com/Dav1dde/glad"
license = "MIT"
name = "glad"
version = "2.0.8"
[[source]]
extract_dir = "$name-$version"
url = "https://github.com/Dav1dde/glad#v$version"
+28
View File
@@ -0,0 +1,28 @@
#!/bin/sh
set -eu
make -j1 CC="$CC" CCFLAGS="-c $CFLAGS -fPIC"
install -dm755 \
"$DESTDIR/usr/bin" \
"$DESTDIR/usr/lib" \
"$DESTDIR/usr/include/gsm" \
"$DESTDIR/usr/share/man/man1" \
"$DESTDIR/usr/share/man/man3"
install -m755 bin/toast "$DESTDIR/usr/bin/toast"
ln -sf toast "$DESTDIR/usr/bin/untoast"
ln -sf toast "$DESTDIR/usr/bin/tcat"
install -m644 inc/gsm.h "$DESTDIR/usr/include/gsm/gsm.h"
install -m755 lib/libgsm.so.1.0.22 "$DESTDIR/usr/lib/libgsm.so.1.0.22"
ln -sf libgsm.so.1.0.22 "$DESTDIR/usr/lib/libgsm.so.1"
ln -sf libgsm.so.1.0.22 "$DESTDIR/usr/lib/libgsm.so"
install -m644 man/toast.1 "$DESTDIR/usr/share/man/man1/toast.1"
install -m644 man/gsm.3 "$DESTDIR/usr/share/man/man3/gsm.3"
install -m644 man/gsm_explode.3 "$DESTDIR/usr/share/man/man3/gsm_explode.3"
install -m644 man/gsm_option.3 "$DESTDIR/usr/share/man/man3/gsm_option.3"
[ -f man/gsm_print.3 ] && install -m644 man/gsm_print.3 "$DESTDIR/usr/share/man/man3/gsm_print.3" || true
+17
View File
@@ -0,0 +1,17 @@
--- Makefile.orig 2022-08-02 00:11:31.493613903 +0300
+++ Makefile 2022-08-02 00:11:40.203644903 +0300
@@ -359,11 +359,11 @@
$(TOAST_INSTALL_BIN)/untoast: $(TOAST_INSTALL_BIN)/toast
-rm $(RMFLAGS) $@
- $(LN) $? $@
+ $(LN) toast $@
$(TOAST_INSTALL_BIN)/tcat: $(TOAST_INSTALL_BIN)/toast
-rm $(RMFLAGS) $@
- $(LN) $? $@
+ $(LN) toast $@
$(TOAST_INSTALL_MAN)/toast.1: $(MAN)/toast.1
-rm $(RMFLAGS) $@
+130
View File
@@ -0,0 +1,130 @@
--- Makefile 2006-04-26 15:14:26.000000000 -0400
+++ Makefile 2010-06-19 16:53:25.000000000 -0400
@@ -96,7 +96,7 @@
# Other tools
SHELL = /bin/sh
-LN = ln
+LN = ln -s -f
BASENAME = basename
AR = ar
ARFLAGS = cr
@@ -139,7 +139,7 @@
# Targets
-LIBGSM = $(LIB)/libgsm.a
+LIBGSMSO = $(LIB)/libgsm.so
TOAST = $(BIN)/toast
UNTOAST = $(BIN)/untoast
@@ -257,7 +257,7 @@
# Install targets
GSM_INSTALL_TARGETS = \
- $(GSM_INSTALL_LIB)/libgsm.a \
+ $(GSM_INSTALL_LIB)/libgsm.so \
$(GSM_INSTALL_INC)/gsm.h \
$(GSM_INSTALL_MAN)/gsm.3 \
$(GSM_INSTALL_MAN)/gsm_explode.3 \
@@ -279,7 +279,7 @@
# Target rules
-all: $(LIBGSM) $(TOAST) $(TCAT) $(UNTOAST)
+all: $(LIBGSMSO) $(TOAST) $(TCAT) $(UNTOAST)
@-echo $(ROOT): Done.
tst: $(TST)/lin2cod $(TST)/cod2lin $(TOAST) $(TST)/test-result
@@ -299,24 +299,23 @@
# The basic API: libgsm
-$(LIBGSM): $(LIB) $(GSM_OBJECTS)
- -rm $(RMFLAGS) $(LIBGSM)
- $(AR) $(ARFLAGS) $(LIBGSM) $(GSM_OBJECTS)
- $(RANLIB) $(LIBGSM)
-
+$(LIBGSMSO): $(LIB) $(GSM_OBJECTS)
+ $(LD) $(LFLAGS) -shared -Wl,-soname,libgsm.so.1 -o $@.1.0.22 $(GSM_OBJECTS)
+ $(LN) libgsm.so.1.0.22 $(LIBGSMSO).1
+ $(LN) libgsm.so.1.0.22 $(LIBGSMSO)
# Toast, Untoast and Tcat -- the compress-like frontends to gsm.
-$(TOAST): $(BIN) $(TOAST_OBJECTS) $(LIBGSM)
- $(LD) $(LFLAGS) -o $(TOAST) $(TOAST_OBJECTS) $(LIBGSM) $(LDLIB)
+$(TOAST): $(BIN) $(TOAST_OBJECTS) $(LIBGSMSO)
+ $(LD) $(LFLAGS) -o $(TOAST) $(TOAST_OBJECTS) $(LIBGSMSO) $(LDLIB)
$(UNTOAST): $(BIN) $(TOAST)
-rm $(RMFLAGS) $(UNTOAST)
- $(LN) $(TOAST) $(UNTOAST)
+ $(LN) toast $(UNTOAST)
$(TCAT): $(BIN) $(TOAST)
-rm $(RMFLAGS) $(TCAT)
- $(LN) $(TOAST) $(TCAT)
+ $(LN) toast $(TCAT)
# The local bin and lib directories
@@ -351,10 +350,12 @@
cp $? $@
chmod 444 $@
-$(GSM_INSTALL_LIB)/libgsm.a: $(LIBGSM)
- -rm $(RMFLAGS) $@
- cp $? $@
- chmod 444 $@
+$(GSM_INSTALL_LIB)/libgsm.so: $(LIBGSMSO)
+ -rm $(RMFLAGS) $@ $@.1 $@.1.0.22
+ cp $?.1.0.22 $@.1.0.22
+ chmod 755 $@.1.0.22
+ $(LN) libgsm.so.1.0.22 $@
+ $(LN) libgsm.so.1.0.22 $@.1
# Distribution
@@ -425,7 +425,7 @@
-print | xargs rm $(RMFLAGS)
clean: semi-clean
- -rm $(RMFLAGS) $(LIBGSM) $(ADDTST)/add \
+ -rm $(RMFLAGS) $(LIBGSMSO)* $(ADDTST)/add \
$(TOAST) $(TCAT) $(UNTOAST) \
$(ROOT)/gsm-1.0.tar.Z
@@ -473,22 +473,22 @@
$(TST)/test-result: $(TST)/lin2cod $(TST)/cod2lin $(TOAST) $(TST)/run
( cd $(TST); ./run )
-$(TST)/lin2txt: $(TST)/lin2txt.o $(LIBGSM)
+$(TST)/lin2txt: $(TST)/lin2txt.o $(LIBGSMSO)
$(LD) $(LFLAGS) -o $(TST)/lin2txt \
- $(TST)/lin2txt.o $(LIBGSM) $(LDLIB)
+ $(TST)/lin2txt.o $(LIBGSMSO) $(LDLIB)
-$(TST)/lin2cod: $(TST)/lin2cod.o $(LIBGSM)
+$(TST)/lin2cod: $(TST)/lin2cod.o $(LIBGSMSO)
$(LD) $(LFLAGS) -o $(TST)/lin2cod \
- $(TST)/lin2cod.o $(LIBGSM) $(LDLIB)
+ $(TST)/lin2cod.o $(LIBGSMSO) $(LDLIB)
-$(TST)/gsm2cod: $(TST)/gsm2cod.o $(LIBGSM)
+$(TST)/gsm2cod: $(TST)/gsm2cod.o $(LIBGSMSO)
$(LD) $(LFLAGS) -o $(TST)/gsm2cod \
- $(TST)/gsm2cod.o $(LIBGSM) $(LDLIB)
+ $(TST)/gsm2cod.o $(LIBGSMSO) $(LDLIB)
-$(TST)/cod2txt: $(TST)/cod2txt.o $(LIBGSM)
+$(TST)/cod2txt: $(TST)/cod2txt.o $(LIBGSMSO)
$(LD) $(LFLAGS) -o $(TST)/cod2txt \
- $(TST)/cod2txt.o $(LIBGSM) $(LDLIB)
+ $(TST)/cod2txt.o $(LIBGSMSO) $(LDLIB)
-$(TST)/cod2lin: $(TST)/cod2lin.o $(LIBGSM)
+$(TST)/cod2lin: $(TST)/cod2lin.o $(LIBGSMSO)
$(LD) $(LFLAGS) -o $(TST)/cod2lin \
- $(TST)/cod2lin.o $(LIBGSM) $(LDLIB)
+ $(TST)/cod2lin.o $(LIBGSMSO) $(LDLIB)
+27
View File
@@ -0,0 +1,27 @@
[build]
type = "custom"
[dependencies]
runtime = ["glibc"]
[[manual_sources]]
files = [
"gsm-fix-toast-install.patch",
"gsm-shared.patch"
]
[package]
description = "Shared libraries for GSM 06.10 lossy speech compression"
homepage = "https://www.quut.com/gsm/"
license = "LicenseRef-GSM"
name = "gsm"
version = "1.0.24"
[[source]]
extract_dir = "$name-$version"
patches = [
"gsm-fix-toast-install.patch",
"gsm-shared.patch"
]
sha256 = "a3c40c6471928383f4abfcb2e8f24012a1f562be2f17b8d672145d5986681a92"
url = "https://www.quut.com/gsm/gsm-$version.tar.gz"
+30
View File
@@ -0,0 +1,30 @@
#!/bin/sh
set -eu
depot_build() {
rm -rf ./waflib
export CXXFLAGS="${CXXFLAGS:+$CXXFLAGS }-I/usr/include/db5.3"
export LDFLAGS="${LDFLAGS:+$LDFLAGS }-ldb-5.3"
export LINKFLAGS="$LDFLAGS"
export PYTHONPATH="${PWD}${PYTHONPATH:+:$PYTHONPATH}"
waf configure \
--prefix=/usr \
--htmldir=/usr/share/doc/jack2/html \
--autostart=none \
--doxygen=yes \
--classic \
--dbus
waf build
}
depot_install() {
export PYTHONPATH="${PWD}${PYTHONPATH:+:$PYTHONPATH}"
waf install --destdir="$DESTDIR"
install -Dm755 ../jackd.initd "$DESTDIR/etc/init.d/jackd"
install -Dm644 ../jackd.confd "$DESTDIR/etc/conf.d/jackd"
install -d "$DESTDIR/etc/jack"
}
+15
View File
@@ -0,0 +1,15 @@
diff --git i/wscript w/wscript
index 86eb3954..bdd29dc3 100644
--- i/wscript
+++ w/wscript
@@ -199,8 +199,8 @@ def options(opt):
db = opt.add_auto_option(
'db',
help='Use Berkeley DB (metadata)')
- db.check(header_name='db.h')
- db.check(lib='db')
+ db.check(header_name='db5.3/db.h')
+ db.check(lib='db-5.3')
# dbus options
opt.recurse('dbus')
+45
View File
@@ -0,0 +1,45 @@
[alternatives]
conflicts = ["pipewire-jack"]
provides = ["jack"]
[build.flags]
keep = [ "etc/conf.d/jackd" ]
[build]
type = "custom"
[dependencies]
build = [
"doxygen",
"expat",
"waf",
]
optional = [
"a2jmidid",
"realtime-privileges",
]
runtime = [
"alsa-lib",
"db5.3",
"dbus",
"glibc",
"libunwind",
"libsamplerate",
"libcxx",
"opus",
]
[[manual_sources]]
files = [ "jack2-1.9.22-db-5.3.patch", "jackd.initd", "jackd.confd", "build.sh" ]
[package]
description = "The JACK low-latency audio server"
homepage = "https://github.com/jackaudio/jack2"
license = "GPL-2.0-or-later"
name = "jack2"
version = "1.9.22"
[[source]]
extract_dir = "$name-$version"
url = "https://github.com/jackaudio/jack2.git#v$version"
patches = [ "jack2-1.9.22-db-5.3.patch" ]
+13
View File
@@ -0,0 +1,13 @@
# Extra jackd options
JACK_OPTIONS=""
# Driver, usually alsa
DRIVER="alsa"
# Device, for example:
# DEVICE="hw:0"
DEVICE="hw:0"
# Extra driver settings, for example:
# DRIVER_SETTINGS="-r 48000 -p 1024 -n 2"
DRIVER_SETTINGS=""
+54
View File
@@ -0,0 +1,54 @@
#!/sbin/openrc-run
name="JACK server"
description="JACK server using a named profile"
profile="${RC_SVCNAME#jackd.}"
[ "$profile" = "$RC_SVCNAME" ] && profile="default"
conf_file="/etc/jack/${profile}.conf"
user_conf="/home/${SVCNAME_USER:-$profile}/.config/jack/${profile}.conf"
command="/usr/bin/jackd"
command_background="yes"
pidfile="/run/${RC_SVCNAME}.pid"
depend() {
need localmount
use alsasound dbus
}
start_pre() {
if [ -f "$conf_file" ]; then
. "$conf_file"
elif [ -f "$user_conf" ]; then
. "$user_conf"
fi
: "${JACK_OPTIONS:=}"
: "${DRIVER:=alsa}"
: "${DEVICE:=hw:0}"
: "${DRIVER_SETTINGS:=}"
command_args="$JACK_OPTIONS -d $DRIVER -d $DEVICE $DRIVER_SETTINGS"
}
start() {
checkpath -d -m 0755 /run
ulimit -r 95 || true
ulimit -l unlimited || true
ebegin "Starting ${RC_SVCNAME}"
start-stop-daemon \
--start \
--background \
--make-pidfile \
--pidfile "$pidfile" \
--exec "$command" -- $command_args
eend $?
}
stop() {
ebegin "Stopping ${RC_SVCNAME}"
start-stop-daemon --stop --pidfile "$pidfile" --retry TERM/5
eend $?
}
+41
View File
@@ -0,0 +1,41 @@
[build]
type = "cmake"
[build.flags]
build_dir = "../build"
configure = [
"-DJAS_ENABLE_OPENGL=ON",
"-DJAS_ENABLE_LIBJPEG=ON",
"-DJAS_ENABLE_AUTOMATIC_DEPENDENCIES=OFF",
"-DCMAKE_SKIP_RPATH=ON",
"-DJAS_ENABLE_SHARED=ON",
"-G Ninja",
]
split-docs = true
[dependencies]
build = [
"doxygen",
"cmake",
"ninja",
"libxmu",
]
runtime = [
"freeglut",
"glibc",
"glu",
"libgl",
"libjpeg-turbo",
]
[package]
description = "Software-based implementation of the codec specified in the emerging JPEG-2000 Part-1 standard"
homepage = "https://www.ece.uvic.ca/~frodo/jasper/"
license = "LicenseRef-JasPer2.0"
name = "jasper"
version = "4.2.8"
[[source]]
extract_dir = "$name-$version"
sha256 = "987e8c8b4afcff87553833b6f0fa255b5556a0ecc617b45ee1882e10c1b5ec14"
url = "https://github.com/mdadams/jasper/archive/version-$version/$name-$version.tar.gz"
+10
View File
@@ -0,0 +1,10 @@
./configure \
--prefix='/usr' \
--enable-shared \
--disable-static \
--extra-cflags="$CFLAGS" \
--extra-ldflags="$LDFLAGS" \
--cc=$CC
sed -i '/lsmash_string_to_wchar/d' liblsmash.ver
make
make DESTDIR="$DESTDIR" install
+17
View File
@@ -0,0 +1,17 @@
[build]
type = "custom"
[dependencies]
runtime = ["glibc"]
[package]
description = "MP4 muxer and other tools"
homepage = "https://github.com/l-smash/l-smash"
license = "ISC"
name = "l-smash"
version = "2.14.5"
[[source]]
extract_dir = "$name-$version"
sha256 = "e6f7c31de684f4b89ee27e5cd6262bf96f2a5b117ba938d2d606cf6220f05935"
url = "https://github.com/l-smash/l-smash/archive/v$version.tar.gz"
+2 -1
View File
@@ -5,7 +5,7 @@ type = "autotools"
configure = [
"--enable-nasm",
"--enable-shared",
"--disable-mp3rtp",
"--enable-mp3rtp",
]
[dependencies]
@@ -13,6 +13,7 @@ build = ["nasm"]
runtime = [
"glibc",
"ncurses",
"mpg123"
]
[package]
+30
View File
@@ -0,0 +1,30 @@
[build]
type = "autotools"
[build.flags]
configure = [
"--enable-fontconfig",
"--enable-libunibreak",
]
[dependencies]
build = ["nasm"]
runtime = [
"fribidi",
"fontconfig",
"glibc",
"harfbuzz",
"libunibreak",
]
[package]
description = "portable library for SSA/ASS subtitles rendering"
homepage = "https://github.com/libass/libass/"
license = "ISC"
name = "libass"
version = "0.17.4"
[[source]]
extract_dir = "$name-$version"
url = "https://github.com/libass/libass.git#$version"
post_extract = [ "./autogen.sh" ]
+21
View File
@@ -0,0 +1,21 @@
[build]
type = "autotools"
[dependencies]
runtime = [
"glibc",
"libraw1394",
]
[package]
description = "Library to control A/V devices using the 1394 TA AV/C commands"
homepage = "https://sourceforge.net/projects/libavc1394/"
license = "GPL-2.0-or-later AND LGPL-2.1-or-later"
name = "libavc1394"
version = "0.5.4"
[[source]]
extract_dir = "$name-$version"
sha256 = "md5:caf0db059d8b8d35d6f08e6c0e1c7dfe"
url = "https://sourceforge.net/projects/libavc1394/files/libavc1394/libavc1394-$version.tar.gz"
post_extract = [ "autoreconf -fiv" ]
+29
View File
@@ -0,0 +1,29 @@
[build]
type = "meson"
[build.flags]
build_dir = "build"
[dependencies]
build = [
"meson",
"ninja",
]
runtime = [
"fontconfig",
"glibc",
"freetype2",
"libxml215",
]
[package]
description = "Library to access Blu-Ray disks for video playback"
homepage = "https://www.videolan.org/developers/libbluray.html"
license = "LGPL-2.1-only"
name = "libbluray"
version = "1.4.0"
[[source]]
extract_dir = "$name-$version"
url = "https://download.videolan.org/pub/videolan/libbluray/$version/libbluray-$version.tar.xz"
sha256 = "b2:a2966c1177f5b83a43715c2fcce4d189ac69093d57d2cfe9736293b41e3f94c4e5ba277f4d71f38d050394d7e59bdb31b303ad466d6d1070681f2a6720bfbbc8"
+30
View File
@@ -0,0 +1,30 @@
[build]
type = "cmake"
[build.flags]
build_dir = "build"
configure = [
"-DBUILD_SHARED_LIBS=ON",
"-DWITH_TESTS=1",
"-DCMAKE_POLICY_VERSION_MINIMUM=3.5",
"-G Ninja",
]
[dependencies]
build = [
"cmake",
"ninja",
"cmocka",
]
runtime = ["glibc"]
[package]
description = "CBOR protocol implementation for C"
homepage = "https://github.com/PJK/libcbor"
license = "MIT"
name = "libcbor"
version = "0.13.0"
[[source]]
extract_dir = "$name-$version"
url = "https://github.com/PJK/libcbor.git#v$version"
+33
View File
@@ -0,0 +1,33 @@
[build]
type = "cmake"
[build.flags]
build_dir = "build"
configure = [
"-DENABLE_ENCODER=ON",
"-G Ninja",
]
[dependencies]
build = [
"cmake",
"sdl2-compat",
"ninja"
]
optional = ["sdl2-compat"]
runtime = [
"glibc",
"libunwind",
"libcxx",
]
[package]
description = "Open h.265 video codec implementation"
homepage = "https://github.com/strukturag/libde265"
license = "LGPL-3.0-or-later"
name = "libde265"
version = "1.0.18"
[[source]]
extract_dir = "$name-$version"
url = "https://github.com/strukturag/libde265.git#v$version"
+14
View File
@@ -0,0 +1,14 @@
cargo cbuild \
--release \
--prefix=/usr \
--manifest-path dolby_vision/Cargo.toml
cargo test \
--release \
--all-features \
--manifest-path dolby_vision/Cargo.toml
cd dolby_vision
cargo cinstall \
--release \
--prefix /usr \
--destdir "$DESTDIR"
+23
View File
@@ -0,0 +1,23 @@
[build]
type = "custom"
[dependencies]
build = [
"cargo-c",
"cargo",
]
runtime = [
"libunwind",
"glibc",
]
[package]
description = "Library to read and write Dolby Vision metadata"
homepage = "https://github.com/quietvoid/dovi_tool/tree/main/dolby_vision"
license = "MIT"
name = "libdovi"
version = "3.3.2"
[[source]]
extract_dir = "$name-$version"
url = "https://github.com/quietvoid/dovi_tool.git#$name-$version"
+23
View File
@@ -0,0 +1,23 @@
[build]
type = "meson"
[build.flags]
build_dir = "build"
[dependencies]
build = ["meson"]
runtime = [
"glibc",
"libdvdread",
]
[package]
description = "Library to navigate DVD video disks"
homepage = "https://www.videolan.org/developers/libdvdnav.html"
license = "GPL-2.0-or-later"
name = "libdvdnav"
version = "7.0.0"
[[source]]
extract_dir = "$name-$version"
url = "https://code.videolan.org/videolan/libdvdnav.git#$version"
+22
View File
@@ -0,0 +1,22 @@
[build]
type = "meson"
[build.flags]
build_dir = "build"
configure = ["-Dlibdvdcss=disabled"]
[dependencies]
build = ["meson", "git"]
optional = ["libdvdcss"]
runtime = ["glibc"]
[package]
description = "Library for reading DVD video disks"
homepage = "https://www.videolan.org/developers/libdvdnav.html"
license = "GPL-2.0-or-later"
name = "libdvdread"
version = "7.0.1"
[[source]]
extract_dir = "$name-$version"
url = "https://code.videolan.org/videolan/libdvdread.git#$version"
+33
View File
@@ -0,0 +1,33 @@
[build]
type = "cmake"
[build.flags]
build_dir = "build"
configure = ["-G Ninja", "-Wno-dev"]
[dependencies]
build = [
"cmake",
"ninja",
]
runtime = [
"glibc",
"openssl",
"libcbor",
"hidapi",
"zlib-ng",
"libudev"
]
[package]
description = "Library functionality for FIDO 2.0, including communication with a device over USB"
homepage = "https://developers.yubico.com/libfido2/"
license = "BSD-2-Clause"
name = "libfido2"
version = "1.16.0"
[[source]]
extract_dir = "$name-$version"
sha256 = "8c2b6fb279b5b42e9ac92ade71832e485852647b53607c43baaafbbcecea04e4"
url = "https://developers.yubico.com/libfido2/Releases/libfido2-$version.tar.gz"
post_extract = [ "sed -i '/D_FORTIFY_SOURCE=2/d' CMakeLists.txt" ]
+47
View File
@@ -0,0 +1,47 @@
[build]
type = "cmake"
[build.flags]
build_dir = "build"
configure = [
"-G Ninja",
"-DGOBJECT_INTROSPECTION=true",
"-DICAL_GLIB_VAPI=true",
"-DSHARED_ONLY=true",
"-DCMAKE_DISABLE_FIND_PACKAGE_BerkeleyDB=true",
"-DICAL_BUILD_DOCS=False",
]
[dependencies]
build = [
"cmake",
"ninja",
"vala",
"gobject-introspection",
]
runtime = [
"glibc",
"glib2",
"icu78",
"libunwind",
"libcxx",
"libxml215",
]
test = ["python-gobject"]
[package]
description = "open source reference implementation of the icalendar data type and serialization format"
homepage = "https://github.com/libical/libical"
license = [
"LGPL-2.1-only",
"MPL-2.0",
]
name = "libical"
version = "3.0.20"
[[source]]
extract_dir = "$name-$version"
url = "https://github.com/libical/libical.git#v$version"
post_extract = [
"sed -i '/add_subdirectory(docs)/d' CMakeLists.txt",
]
+18
View File
@@ -0,0 +1,18 @@
[build]
type = "autotools"
[dependencies]
runtime = ["libraw1394"]
[package]
description = "higher level API for streaming DV, MPEG-2 and audio over Linux IEEE 1394"
homepage = "https://www.kernel.org/pub/linux/libs/ieee1394/"
license = "LGPL-2.1-or-Later"
name = "libiec61883"
version = "1.2.0"
[[source]]
extract_dir = "$name-$version"
sha256 = "d1e02c7e276fac37313a2f8c1c33d7a9e19282ff16f32e72435428ff5121f09e"
url = "https://www.kernel.org/pub/linux/libs/ieee1394/$name-$version.tar.xz"
post_extract = [ "autoreconf -fiv" ]
+28
View File
@@ -0,0 +1,28 @@
[build]
type = "meson"
[build.flags]
build_dir = "build"
configure = [
"-Dpython=true",
"-Dtools=true",
]
[dependencies]
build = [
"meson",
"python",
]
optional = ["python"]
runtime = ["glibc"]
[package]
description = "Low Complexity Communication Codec library and tools"
homepage = "https://github.com/google/liblc3"
license = "Apache-2.0"
name = "liblc3"
version = "1.1.3"
[[source]]
extract_dir = "$name-$version"
url = "https://github.com/google/liblc3.git#v$version"
+32
View File
@@ -0,0 +1,32 @@
[build]
type = "cmake"
[build.flags]
build_dir = "build"
configure = [
"-DLDAC_SOFT_FLOAT=OFF",
"-G Ninja",
"-DCMAKE_POLICY_VERSION_MINIMUM=3.5"
]
[dependencies]
build = [
"cmake",
"ninja",
]
runtime = ["glibc"]
[package]
description = "LDAC Bluetooth encoder library"
homepage = "https://github.com/EHfive/ldacBT"
license = "Apache-2.0"
name = "libldac"
version = "2.0.2.3"
[[source]]
extract_dir = "$name-$version"
url = "https://github.com/EHfive/ldacBT.git#v$version"
post_extract = [ "cp -rv ../libldac ./" ]
[[manual_sources]]
url = "https://android.googlesource.com/platform/external/libldac.git"
@@ -0,0 +1,12 @@
diff -uNr a/configure.ac b/configure.ac
--- a/configure.ac 2017-07-26 22:39:07.461198820 +0100
+++ b/configure.ac 2017-07-26 22:39:53.284622741 +0100
@@ -31,7 +31,7 @@
AC_CHECK_HEADERS([inttypes.h stdint.h malloc.h])
AC_CHECK_FUNCS(setenv sinf)
-CXXFLAGS="$CXXFLAGS -fno-exceptions -Wall -ffast-math -fno-common -D_REENTRANT"
+CXXFLAGS="$CXXFLAGS -fno-exceptions -Wall -fno-common -D_REENTRANT -std=gnu++14"
AC_CANONICAL_HOST
case "$host" in
+25
View File
@@ -0,0 +1,25 @@
[build]
type = "autotools"
[dependencies]
runtime = [
"glibc",
"libcxx",
]
[[manual_sources]]
file = "libmodplug-0.8.9.0-no-fast-math.patch"
[package]
description = "A MOD playing library"
homepage = "http://modplug-xmms.sourceforge.net/"
license = "LicenseRef-PublicDomain"
name = "libmodplug"
version = "0.8.9.0"
[[source]]
extract_dir = "$name-$version"
post_extract = ["autoreconf -vfi"]
sha256 = "md5:5ba16981e6515975e9a68a58d5ba69d1"
url = "https://downloads.sourceforge.net/modplug-xmms/$name-$version.tar.gz"
patches = [ "libmodplug-0.8.9.0-no-fast-math.patch" ]
+33
View File
@@ -0,0 +1,33 @@
[build]
type = "cmake"
[build.flags]
build_dir = "build"
configure = [
"-G Ninja",
"-DCODE_COVERAGE=OFF",
"-DBUILD_TESTS=OFF",
"-Wno-dev",
"-DCMAKE_POLICY_VERSION_MINIMUM=3.5"
]
make-test-vars = [ "-j1" ]
[dependencies]
build = [
"cmake",
"cunit",
"ninja"
]
runtime = ["zlib-ng"]
test = ["nodejs"]
[package]
description = "C library to read HRTFs if they are stored in the AES69-2015 SOFA format"
homepage = "https://github.com/hoene/libmysofa"
license = "BSD-3-Clause"
name = "libmysofa"
version = "1.3.4"
[[source]]
extract_dir = "$name-$version"
url = "https://github.com/hoene/libmysofa.git#v$version"
+39
View File
@@ -0,0 +1,39 @@
[build]
type = "autotools"
[build.flags]
post-compile = [ "cd src && cc $CFLAGS $LDFLAGS -I.. -Ilibgnu -o localepaper localepaper.c libgnu/.libs/libgnupaper.a" ]
post_install = [
'install -Dt "$DESTDIR/usr/lib" -m0755 src/localepaper',
'install -dm 755 "$DESTDIR"/etc',
"""echo '# Simply write the paper name. See man 1 paper and "paper --no-size --all" for possible values' > "$DESTDIR"/etc/papersize""",
'install -dm 755 "$DESTDIR"/etc/libpaper.d',
]
keep = [ "etc/papersize" ]
[dependencies]
runtime = ["glibc"]
[[manual_sources]]
file = "localepaper.c"
[package]
description = "Library for handling paper characteristics"
homepage = "https://github.com/rrthomas/libpaper"
license = [
"FSFAP",
"GPL-3.0-or-later",
"LGPL-2.0-or-later",
"LGPL-2.1-or-later",
"LicenseRef-Public-Domain",
"MIT",
]
name = "libpaper"
version = "2.2.7"
[[source]]
extract_dir = "$name-$version"
post_extract = ["cp ../localepaper.c src/"]
sha256 = "3925401edf1eda596277bc2485e050b704fd7f364f257c874b0c40ac5aa627c0"
url = "https://github.com/rrthomas/libpaper/releases/download/v$version/$name-$version.tar.gz"
+44
View File
@@ -0,0 +1,44 @@
/*
* localepaper: print the dimensions in mm of the current locale's
* paper size, if possible.
*
* Based on a patch by Caolan McNamara:
* http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=481213
*
* Copyright (C) Reuben Thomas <rrt@sc3d.org>, 2013.
*
* Copying and distribution of this file, with or without modification,
* are permitted in any medium without royalty provided the copyright
* notice and this notice are preserved.
*/
#include <config.h>
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#if defined LC_PAPER && defined _GNU_SOURCE
#include <langinfo.h>
#endif
#include "progname.h"
int main(int argc, char *argv[])
{
set_program_name(argv[0]);
argc = argc; /* Avoid a compiler warning. */
#if defined LC_PAPER && defined _GNU_SOURCE
setlocale(LC_ALL, "");
#define NL_PAPER_GET(x) \
((union { char *string; unsigned word; })nl_langinfo(x)).word
printf("%d %d\n", NL_PAPER_GET(_NL_PAPER_WIDTH), NL_PAPER_GET(_NL_PAPER_HEIGHT));
return EXIT_SUCCESS;
#else
printf("%s: locale paper size information is not supported on this system", program_name);
return EXIT_FAILURE;
#endif
}
+22
View File
@@ -0,0 +1,22 @@
[build]
type = "autotools"
[build.flags]
source_subdir = "openpgm/pgm"
[dependencies]
build = ["python"]
runtime = ["glibc"]
[package]
description = "Library implementing the Pragmatic General Multicast (PGM, RFC3208) reliable transport protocol (OpenPGM)"
homepage = "https://github.com/steve-o/openpgm"
license = "LGPL-2.1-or-Later"
name = "libpgm"
version = "5.3.128"
[[source]]
extract_dir = "$name-$version"
post_extract = ["cd openpgm/pgm && autoreconf -fi"]
url = "https://github.com/steve-o/openpgm.git#release-5-3-128"
cherry_pick = [ "240634b1afb968a051f8c68696eae2a582a02450" ]
@@ -0,0 +1,11 @@
Fix linking against glslang 1.3.296.0
--- a/src/glsl/meson.build
+++ b/src/glsl/meson.build
@@ -17,6 +17,7 @@ if glslang_req.auto() and shaderc.found()
elif not glslang_req.disabled()
glslang_deps = [
+ cxx.find_library('glslang', required: false),
cxx.find_library('glslang-default-resource-limits', required: false)
]
+57
View File
@@ -0,0 +1,57 @@
[build]
type = "meson"
[build.flags]
build_dir = "build"
configure = [
"-Dtests=true",
"-Dvulkan=enabled",
"-Dglslang=enabled",
"-Dshaderc=enabled",
"-Dlcms=enabled",
"-Dd3d11=disabled",
"-Dlibdovi=enabled",
"-Ddemos=false",
]
cxxflags += [ "-I/usr/include/glslang" ]
skip_tests = true # need a graphical env
[dependencies]
build = [
"meson",
"vulkan-headers",
"glad",
"nuklear",
"python",
"python-setuptools",
"python-mako",
"python-markupsafe",
"python-jinja",
"libglvnd",
]
runtime = [
"vulkan-icd-loader",
"glslang",
"lcms2",
"shaderc",
"glibc",
"libunwind",
"libcxx",
"libdovi",
"xxhash",
]
[[manual_sources]]
file = "fix_glslang_linking.patch"
[package]
description = "Reusable library for GPU-accelerated video/image rendering primitives"
homepage = "https://github.com/haasn/libplacebo"
license = "LGPL-2.1-or-later"
name = "libplacebo"
version = "7.360.1"
[[source]]
extract_dir = "$name-$version"
patches = ["fix_glslang_linking.patch"]
url = "https://code.videolan.org/videolan/libplacebo.git#v$version"
+17
View File
@@ -0,0 +1,17 @@
[build]
type = "autotools"
[dependencies]
runtime = ["glibc"]
[package]
description = "Provides an API to the Linux IEEE1394 (FireWire) driver"
homepage = "https://ieee1394.wiki.kernel.org/index.php/Main_Page"
license = "LGPL-2.1-only"
name = "libraw1394"
version = "2.1.2"
[[source]]
extract_dir = "$name-$version"
sha256 = "03ccc69761d22c7deb1127fc301010dd13e70e44bb7134b8ff0d07590259a55e"
url = "https://www.kernel.org/pub/linux/libs/ieee1394/$name-$version.tar.xz"
+6 -1
View File
@@ -7,7 +7,7 @@ configure = [
"-DBUILD_SHARED_LIBS=ON",
"-DCMAKE_POLICY_VERSION_MINIMUM=3.5",
"-DENABLE_EXTERNAL_LIBS=ON",
"-DENABLE_MPEG=OFF",
"-DENABLE_MPEG=ON",
"-Wno-dev",
"-G Ninja",
]
@@ -19,6 +19,11 @@ build = [
"ninja",
"python",
"sqlite",
"mpg123",
"lame",
"libogg",
"flac",
"libvorbis",
]
optional = ["alsa-lib"]
runtime = [
+37
View File
@@ -0,0 +1,37 @@
[build]
type = "cmake"
[build.flags]
build_dir = "build"
configure = [
"-G Ninja",
"-DBUILD_EXAMPLES=OFF",
"-DBUILD_SHARED_LIBS=ON",
"-DWITH_AVFFT=ON",
"-DWITH_LSR_BINDINGS=ON",
"-DWITH_OPENMP=ON",
"-DWITH_PFFFT=ON",
"-DCMAKE_POLICY_VERSION_MINIMUM=3.5",
]
[dependencies]
build = [
"cmake",
"ninja",
]
runtime = [
"libcxx",
"libunwind",
]
[package]
description = "SoX Resampler library that aims to give fast and high quality results for any constant resampling ratio"
homepage = "https://sourceforge.net/p/soxr/wiki/Home/"
license = "LGPL-2.1-or-Later"
name = "libsoxr"
version = "0.1.3"
[[source]]
extract_dir = "$name-$version"
sha256 = "md5:3f16f4dcb35b471682d4321eda6f6c08"
url = "https://downloads.sourceforge.net/project/soxr/soxr-$version-Source.tar.xz"
+40
View File
@@ -0,0 +1,40 @@
[build]
type = "cmake"
[build.flags]
build_dir = "build"
configure = [
"-DWITH_GSSAPI=OFF",
"-G Ninja",
"-DUNIT_TESTING=OFF",
]
split-docs = true
post_compile = [ "cmake --build build --target docs" ]
post_install = [ "mkdir -p $DESTDIR/usr/share/doc/libssh", "cp -r build/doc/html $DESTDIR/usr/share/doc/libssh" ]
[dependencies]
build = [
"cmake",
"cmocka",
"doxygen",
"openssh",
"python",
"ninja"
]
runtime = [
"glibc",
"openssl",
"zlib-ng",
]
[package]
description = "Library for accessing ssh client services through C libraries"
homepage = "https://www.libssh.org/"
license = "LGPL-2.1-or-later"
name = "libssh"
version = "0.12.0"
[[source]]
extract_dir = "$name-$version"
sha256 = "1a6af424d8327e5eedef4e5fe7f5b924226dd617ac9f3de80f217d82a36a7121"
url = "https://www.libssh.org/files/0.12/libssh-$version.tar.xz"
+23
View File
@@ -0,0 +1,23 @@
[build]
type = "makefile"
[alternatives]
provides = [ "libudev" ]
[build.flags]
makefile_commands = ["make"]
makefile_install_commands = ["make PREFIX=/usr DESTDIR=$DESTDIR install"]
[dependencies]
runtime = ["glibc"]
[package]
description = "Daemonless replacement for libudev"
homepage = "https://github.com/illiliti/libudev-zero"
license = "ISC"
name = "libudev-zero"
version = "1.0.3"
[[source]]
extract_dir = "$name-$version"
url = "https://github.com/illiliti/libudev-zero.git#$version"
+17
View File
@@ -0,0 +1,17 @@
[build]
type = "autotools"
[dependencies]
runtime = ["glibc"]
[package]
description = "implementation of the line breaking algorithm as described in Unicode 5.2.0 Standard Annex 14, Revision 24"
homepage = "https://github.com/adah1972/libunibreak/"
license = "Zlib"
name = "libunibreak"
version = "6.1"
[[source]]
extract_dir = "$name-$version"
post_extract = ["./autogen.sh"]
url = "https://github.com/adah1972/libunibreak.git#libunibreak_6_1"
+15
View File
@@ -0,0 +1,15 @@
./configure \
--prefix=/usr \
--disable-install-docs \
--disable-install-srcs \
--disable-unit-tests \
--enable-pic \
--enable-postproc \
--enable-runtime-cpu-detect \
--enable-shared \
--enable-vp8 \
--enable-vp9 \
--enable-vp9-highbitdepth \
--enable-vp9-temporal-denoising
make
make DIST_DIR="$DESTDIR"/usr install
+25
View File
@@ -0,0 +1,25 @@
[build]
type = "custom"
[build.flags]
use_lto = false
[dependencies]
build = ["nasm"]
runtime = [
"libunwind",
"glibc",
"libcxx",
]
[package]
description = "VP8 and VP9 codec"
homepage = "https://www.webmproject.org/"
license = "BSD-3-Clause"
name = "libvpx"
version = "1.16.0"
[[source]]
extract_dir = "$name-$version"
url = "https://chromium.googlesource.com/webm/libvpx.git#v$version"
cherry_pick = [ "d5f35ac8d93cba7f7a3f7ddb8f9dc8bd28f785e1" ]
+80
View File
@@ -0,0 +1,80 @@
#!/bin/sh
set -eu
makei() {
echo "==> Running: make DESTDIR=\"$pkgdir\" install $*"
make DESTDIR="$pkgdir" install "$@"
}
mesoni() {
echo "==> Running: meson install --destdir \"$pkgdir\" $*"
meson install --destdir "$pkgdir" "$@"
}
cmakei() {
echo "==> Running: cmake --install $*"
DESTDIR="$pkgdir" cmake --install "$@"
}
starmove() {
[ "$#" -ge 1 ] || {
echo "starmove: requires at least one path pattern" >&2
return 1
}
[ "${DEPOT_OUTPUT_NAME:-}" != "" ] || {
echo "starmove: DEPOT_OUTPUT_NAME is not set" >&2
return 1
}
haul "$DEPOT_OUTPUT_NAME" "$@"
}
depot_starbuild_sync_srcdir() {
workdir=${DEPOT_STARBUILD_WORKDIR:?}
compat_root="$workdir/.depot-starbuild"
mkdir -p "$compat_root/packages"
for entry in "$workdir"/* "$workdir"/.[!.]* "$workdir"/..?*; do
[ -e "$entry" ] || [ -L "$entry" ] || continue
base=$(basename "$entry")
[ "$base" = ".depot-starbuild" ] && continue
[ "$base" = "packages" ] && continue
ln -snf "$entry" "$compat_root/$base"
done
mkdir -p "$compat_root/packages/libxkbcommon/"
ln -snf "${DEPOT_PRIMARY_DESTDIR:-$DESTDIR}" "$compat_root/packages/libxkbcommon/files"
mkdir -p "$compat_root/packages/libxkbcommon-x11/"
ln -snf "$(subdestdir 'libxkbcommon-x11')" "$compat_root/packages/libxkbcommon-x11/files"
srcdir="$compat_root"
export srcdir
}
depot_starbuild_setup_env() {
package_name=$1
package_version='1.12.3'
pkgdir=${DESTDIR:?}
export package_name package_version pkgdir
LANG=C
LC_ALL=C
export LANG LC_ALL
depot_starbuild_sync_srcdir
}
depot_build() {
depot_starbuild_setup_env 'libxkbcommon'
# Add your commands here
meson setup build -Dprefix=/usr --buildtype=release --libdir="/usr/lib"
ninja -C build
# Add your commands here
}
depot_install() {
depot_starbuild_setup_env 'libxkbcommon'
mesoni -C build
}
depot_install_libxkbcommon_x11() {
depot_starbuild_setup_env 'libxkbcommon-x11'
starmove usr/lib/*x11*
starmove usr/lib/pkgconfig/*x11*
starmove usr/include/xkbcommon/*x11*
starmove usr/share/man/man1/*x11*
}
+42
View File
@@ -0,0 +1,42 @@
[build]
type = "custom"
[dependencies]
build = [
"meson",
"wayland",
"wayland-protocols",
"xkeyboard-config",
"xorgproto",
"libxcb",
"git",
"graphviz",
"doxygen"
]
runtime = [ "glibc", "libxml215", "xkeyboard-config" ]
optional = [ "wayland", "libxkbcommon-x11" ]
[package]
description = "Keymap handling library for toolkits and window systems"
homepage = "https://github.com/xkbcommon/libxkbcommon.git"
license = "MIT"
name = "libxkbcommon"
version = "1.13.1"
[package_dependencies.libxkbcommon-x11]
runtime = [
"glibc",
"libxcb",
"libxkbcommon",
]
[[packages]]
description = "Keyboard handling library using XKB data for X11 XCB clients"
homepage = "https://xkbcommon.org/"
license = "MIT"
name = "libxkbcommon-x11"
version = "1.13.1"
[[source]]
extract_dir = "libxkbcommon"
url = "https://github.com/xkbcommon/libxkbcommon.git#xkbcommon-$version"
+28
View File
@@ -0,0 +1,28 @@
[build]
type = "meson"
[build.flags]
build_dir = "build"
[dependencies]
build = [
"xorg-util-macros",
"meson",
]
runtime = [
"libx11",
"xorgproto",
"glibc",
]
[package]
description = "X11 keyboard file manipulation library"
homepage = "https://gitlab.freedesktop.org/xorg/lib/libxkbfile"
license = "LicenseRef-libxkbfile"
name = "libxkbfile"
version = "1.2.0"
[[source]]
extract_dir = "$name-$version"
sha256 = "7f71884e5faf56fb0e823f3848599cf9b5a9afce51c90982baeb64f635233ebf"
url = "https://xorg.freedesktop.org/releases/individual/lib/$name-$version.tar.xz"
+29
View File
@@ -0,0 +1,29 @@
[build]
type = "autotools"
[build.flags]
configure = [
"--enable-int-quality",
"--with-audio=alsa oss sdl jack",
]
[dependencies]
build = ["sdl2", "jack"]
optional = [
"sdl2",
"perl",
"jack"
]
runtime = ["alsa-lib"]
[package]
description = "Console based real time MPEG Audio Player for Layer 1, 2 and 3"
homepage = "https://mpg123.de/"
license = "LGPL-2.1-only"
name = "mpg123"
version = "1.33.4"
[[source]]
extract_dir = "$name-$version"
sha256 = "md5:1dcce56af481df25cb3a26db6fcaec75"
url = "https://downloads.sourceforge.net/sourceforge/mpg123/mpg123-$version.tar.bz2"
+1
View File
@@ -0,0 +1 @@
install -Dm 644 nuklear.h -t "$DESTDIR"/usr/include
+13
View File
@@ -0,0 +1,13 @@
[build]
type = "custom"
[package]
description = "Single-header ANSI C immediate mode cross-platform GUI library"
homepage = "https://github.com/Immediate-Mode-UI/Nuklear"
license = "MIT"
name = "nuklear"
version = "4.12.8"
[[source]]
extract_dir = "$name-$version"
url = "https://github.com/Immediate-Mode-UI/Nuklear.git#$version"
+26
View File
@@ -0,0 +1,26 @@
[build]
type = "makefile"
[build.flags]
makefile_commands = ["make"]
makefile_install_commands = ["make PREFIX='/usr' DESTDIR=$DESTDIR install-shared"]
[dependencies]
build = ["nasm"]
runtime = [
"glibc",
"libunwind",
"libcxx",
]
[package]
description = "H.264 encoder and decoder"
homepage = "https://www.openh264.org/"
license = "BSD-2-Clause"
name = "openh264"
version = "2.6.0"
[[source]]
extract_dir = "$name-$version"
sha256 = "558544ad358283a7ab2930d69a9ceddf913f4a51ee9bf1bfb9e377322af81a69"
url = "https://github.com/cisco/openh264/archive/v$version/$name-$version.tar.gz"
+22
View File
@@ -0,0 +1,22 @@
#!/bin/sh
set -eu
depot_build() {
(
cd bindings/cpp
autoreconf -fiv
)
autoreconf -fiv
./configure \
--prefix=/usr \
--enable-cxx
# Parallel builds can break with the C++ bindings:
# https://github.com/PortAudio/portaudio/issues/540
make -j1
}
depot_install() {
make DESTDIR="$DESTDIR" install
}
+25
View File
@@ -0,0 +1,25 @@
[build]
type = "custom"
[dependencies]
build = [
"alsa-lib",
"cmake",
"jack",
]
runtime = [
"glibc",
"libunwind",
"libcxx",
]
[package]
description = "A free, cross-platform, open source, audio I/O library."
homepage = "https://github.com/portaudio/portaudio/"
license = "MIT"
name = "portaudio"
version = "19.7.0"
[[source]]
extract_dir = "$name-$version"
url = "https://github.com/portaudio/portaudio.git#v$version"
+21
View File
@@ -0,0 +1,21 @@
[build]
type = "python"
[dependencies]
build = [
"python-hatch-vcs",
"python-hatchling",
"git"
]
runtime = ["python"]
[package]
description = "Rapid multi-Python deployment"
homepage = "https://codespeak.net/execnet"
license = "MIT"
name = "python-execnet"
version = "2.1.2"
[[source]]
extract_dir = "$name-$version"
url = "https://github.com/pytest-dev/execnet.git#v$version"
@@ -0,0 +1,28 @@
[build]
type = "python"
[dependencies]
build = [
"python-setuptools-scm",
"python-wheel",
"git"
]
optional = [
"python-psutil",
"python-setproctitle",
]
runtime = [
"python-execnet",
"python-pytest",
]
[package]
description = "py.test xdist plugin for distributed testing and loop-on-failing modes"
homepage = "https://github.com/pytest-dev/pytest-xdist"
license = "MIT"
name = "python-pytest-xdist"
version = "3.8.0"
[[source]]
extract_dir = "$name-$version"
url = "https://github.com/pytest-dev/pytest-xdist.git#v$version"
+3
View File
@@ -1,6 +1,9 @@
[build]
type = "cmake"
[alternatives]
provides = [ "sdl2" ]
[build.flags]
build_dir = "build"
configure = ["-G Ninja"]
+2
View File
@@ -26,10 +26,12 @@ build = [
"wayland",
"libxss",
"vulkan-headers",
"jack"
]
optional = [
"alsa-lib",
"vulkan-driver",
"jack"
]
runtime = [
"glibc",
+41
View File
@@ -0,0 +1,41 @@
[build]
type = "cmake"
[build.flags]
build_dir = "build"
configure = [
"-G Ninja",
"-DSHADERC_SKIP_TESTS=ON",
"-DPYTHON_EXECUTABLE=python",
"-Dglslang_SOURCE_DIR=/usr/include/glslang",
]
post_install = [ "rm $DESTDIR/usr/lib/pkgconfig/shaderc_static.pc" ]
[dependencies]
build = [
"cmake",
"ninja",
"python",
"spirv-headers",
]
runtime = [
"glibc",
"glslang",
"libunwind",
"libcxx",
"spirv-tools",
]
[package]
description = "Collection of tools, libraries and tests for shader compilation"
homepage = "https://github.com/google/shaderc"
license = "Apache-2.0"
name = "shaderc"
version = "2026.1"
[[source]]
extract_dir = "$name-$version"
sha256 = "245002feccbe7f8361b223545a5654cea69780745886872d7efff50a38d96c66"
url = "https://github.com/google/shaderc/archive/v$version/$name-$version.tar.gz"
post_extract = [ "sed '/examples/d;/third_party/d' -i CMakeLists.txt && sed '/build-version/d' -i glslc/CMakeLists.txt && printf '\"%s\\\\n\"\\n\"%s\\\\n\"\\n\"%s\\\\n\"\\n' \"$version\" \"$(depot info spirv-tools | sed -n 's/.* v\\([^ ]*\\)$/\\1/p' | sed '1q;s/-.*//')\" \"$(depot info glslang | sed -n 's/.* v\\([^ ]*\\)$/\\1/p' | sed '1q;s/-.*//')\" > glslc/src/build-version.inc" ]
# ^ PITA to write, used ai
@@ -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)
+25
View File
@@ -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)
+10
View File
@@ -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}
+42
View File
@@ -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" ]
+14
View File
@@ -0,0 +1,14 @@
diff '--color=auto' -rupN soundtouch.orig/CMakeLists.txt soundtouch/CMakeLists.txt
--- soundtouch.orig/CMakeLists.txt 2021-08-26 13:11:17.958981063 +0200
+++ soundtouch/CMakeLists.txt 2021-08-26 13:16:35.308990428 +0200
@@ -121,6 +122,10 @@ endif()
########################
+# autotools
+install(FILES include/soundtouch_config.h DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/soundtouch")
+install(FILES soundtouch.m4 DESTINATION "${CMAKE_INSTALL_DATADIR}/aclocal")
+
# pkgconfig
set(prefix "${CMAKE_INSTALL_PREFIX}")
set(execprefix "\${prefix}")
+35
View File
@@ -0,0 +1,35 @@
[build]
type = "cmake"
[build.flags]
build_dir = "build"
configure = [
"-DBUILD_SHARED_LIBS=ON",
"-G Ninja",
]
[dependencies]
build = [
"cmake",
"ninja",
]
runtime = [
"libcxx",
"libunwind",
]
[package]
description = "An audio processing library"
homepage = "https://www.surina.net/soundtouch/"
license = "LGPL-2.1-or-Later"
name = "soundtouch"
version = "2.4.0"
[[source]]
extract_dir = "$name-$version"
url = "https://codeberg.org/soundtouch/soundtouch.git#$version"
post_extract = [ "autoreconf -fiv", "./configure --prefix=/usr --enable-shared" ]
patches = [ "soundtouch-cmake.patch" ]
[[manual_sources]]
file = "soundtouch-cmake.patch"
+35
View File
@@ -0,0 +1,35 @@
[build]
type = "cmake"
[build.flags]
build_dir = "build"
configure = [
"-DENABLE_TESTING=ON",
"-DENABLE_STATIC=OFF",
"-G Ninja",
"-DCMAKE_POLICY_VERSION_MINIMUM=3.5"
]
[dependencies]
build = [
"cmake",
"ninja",
]
runtime = [
"sh",
"libcxx",
"glibc",
"libunwind",
"openssl",
]
[package]
description = "Secure Reliable Transport library"
homepage = "https://www.srtalliance.org/"
license = "MPL-2.0"
name = "srt"
version = "1.5.4"
[[source]]
extract_dir = "$name-$version"
url = "https://github.com/Haivision/srt.git#v$version"
+34
View File
@@ -0,0 +1,34 @@
[build]
type = "autotools"
[build.flags]
configure = ["--disable-static"]
post_install = ["install -Dm 644 ../vapoursynth.xml -t $DESTDIR/usr/share/mime/packages/"]
[dependencies]
build = [
"cython",
"python-sphinx",
]
runtime = [
"zimg",
"python",
]
[[manual_sources]]
file = "vapoursynth.xml"
[package]
description = "video processing framework with the future in mind"
homepage = "http://www.vapoursynth.com/"
license = [
"OFL",
"LGPL-2.1-or-Later",
]
name = "vapoursynth"
version = "73"
[[source]]
extract_dir = "$name-$version"
post_extract = ["./autogen.sh"]
url = "https://github.com/vapoursynth/vapoursynth.git#R$version"
+8
View File
@@ -0,0 +1,8 @@
<?xml version="1.0"?>
<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
<mime-type type="text/x-vpy">
<sub-class-of type="text/x-python"/>
<comment>VapourSynth script</comment>
<glob pattern="*.vpy"/>
</mime-type>
</mime-info>
+27
View File
@@ -0,0 +1,27 @@
[build]
type = "cmake"
[build.flags]
build_dir = "build"
configure = ["-G Ninja", "-DCMAKE_POLICY_VERSION_MINIMUM=3.5"]
[dependencies]
build = [
"cmake",
"ninja",
]
runtime = [
"libunwind",
"glibc",
]
[package]
description = "Video stabilization library"
homepage = "http://public.hronopik.de/vid.stab"
license = "GPL-2.0-or-later"
name = "vid.stab"
version = "1.1.1"
[[source]]
extract_dir = "$name-$version"
url = "https://github.com/georgmartius/vid.stab.git#v$version"
@@ -0,0 +1,26 @@
[build]
type = "meson"
[build.flags]
build_dir = "build"
configure = ["-Dcpp_std=c++17"]
[dependencies]
build = ["meson"]
runtime = [
"abseil-cpp",
"glibc",
"libunwind",
"libcxx",
]
[package]
description = "AudioProcessing library based on Google's implementation of WebRTC (legacy)"
homepage = "https://freedesktop.org/software/pulseaudio/webrtc-audio-processing/"
license = "BSD-3-Clause"
name = "webrtc-audio-processing-1"
version = "1.3"
[[source]]
extract_dir = "$name-$version"
url = "https://gitlab.freedesktop.org/pulseaudio/webrtc-audio-processing.git#v$version"
+282
View File
@@ -0,0 +1,282 @@
--- a/configure 2025-08-16 00:29:41.000000000 -0500
+++ b/configure 2026-03-25 01:07:23.787385597 -0500
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
if test x"$1" = x"-h" -o x"$1" = x"--help" ; then
cat <<EOF
@@ -62,7 +62,7 @@
fi
log_check() {
- echo -n "checking $1... " >> config.log
+ printf 'checking %s... ' "$1" >> config.log
}
log_ok() {
@@ -81,13 +81,14 @@
# several non gcc compilers issue an incredibly large number of warnings on high warning levels,
# suppress them by reducing the warning level rather than having to use #pragmas
for arg in $*; do
- [[ "$arg" = -falign-loops* ]] && arg=
+ case $arg in
+ -falign-loops*|-mpreferred-stack-boundary*|-l*|-L*)
+ arg=
+ ;;
+ esac
[ "$arg" = -fno-tree-vectorize ] && arg=
[ "$arg" = -Wshadow ] && arg=
[ "$arg" = -Wno-maybe-uninitialized ] && arg=
- [[ "$arg" = -mpreferred-stack-boundary* ]] && arg=
- [[ "$arg" = -l* ]] && arg=
- [[ "$arg" = -L* ]] && arg=
if [ $compiler_style = MS ]; then
[ "$arg" = -ffast-math ] && arg="-fp:fast"
[ "$arg" = -Wall ] && arg=
@@ -103,15 +104,27 @@
fi
[ $compiler = CL -a "$arg" = -O3 ] && arg=-O2
- [ -n "$arg" ] && echo -n "$arg "
+ [ -n "$arg" ] && printf '%s ' "$arg"
done
}
cl_ldflags() {
for arg in $*; do
- arg=${arg/LIBPATH/libpath}
- [ "${arg#-libpath:}" == "$arg" -a "${arg#-l}" != "$arg" ] && arg=${arg#-l}.lib
- [ "${arg#-L}" != "$arg" ] && arg=-libpath:${arg#-L}
+ case $arg in
+ *LIBPATH*)
+ arg=$(printf '%s\n' "$arg" | sed 's/LIBPATH/libpath/')
+ ;;
+ esac
+ case $arg in
+ -libpath:*)
+ ;;
+ -l*)
+ arg=${arg#-l}.lib
+ ;;
+ -L*)
+ arg=-libpath:${arg#-L}
+ ;;
+ esac
[ "$arg" = -Wl,--large-address-aware ] && arg=-largeaddressaware
[ "$arg" = -s ] && arg=
[ "$arg" = -Wl,-Bsymbolic ] && arg=
@@ -119,15 +132,23 @@
[ "$arg" = -Werror ] && arg=
[ "$arg" = -Wshadow ] && arg=
[ "$arg" = -Wmaybe-uninitialized ] && arg=
- [[ "$arg" = -Qdiag-error* ]] && arg=
-
- arg=${arg/pthreadGC/pthreadVC}
+ case $arg in
+ -Qdiag-error*)
+ arg=
+ ;;
+ esac
+
+ case $arg in
+ *pthreadGC*)
+ arg=$(printf '%s\n' "$arg" | sed 's/pthreadGC/pthreadVC/')
+ ;;
+ esac
[ "$arg" = avifil32.lib ] && arg=vfw32.lib
[ "$arg" = gpac_static.lib ] && arg=libgpac_static.lib
[ "$arg" = gpac.lib ] && arg=libgpac.lib
[ "$arg" = x264.lib ] && arg=libx264.lib
- [ -n "$arg" ] && echo -n "$arg "
+ [ -n "$arg" ] && printf '%s ' "$arg"
done
}
@@ -191,7 +212,7 @@
for arg in $1; do
echo "#include <$arg>" >> conftest.c
done
- echo -e "#if !($3) \n#error $4 \n#endif " >> conftest.c
+ printf '#if !(%s)\n#error %s\n#endif\n' "$3" "$4" >> conftest.c
if [ $compiler_style = MS ]; then
cpp_cmd="$CC conftest.c $(cc_cflags $CFLAGS $2) -P"
else
@@ -352,16 +373,21 @@
# Construct a path to the specified directory relative to the working directory
relative_path() {
- local base="${PWD%/}"
- local path="$(cd "$1" >/dev/null; printf '%s/.' "${PWD%/}")"
- local up=''
-
- while [[ $path != "$base/"* ]]; do
- base="${base%/*}"
- up="../$up"
+ relative_base="${PWD%/}"
+ relative_pathname=$(cd "$1" >/dev/null && printf '%s/.' "${PWD%/}") || return 1
+ relative_up=
+
+ while :; do
+ case $relative_pathname in
+ "$relative_base"/*)
+ break
+ ;;
+ esac
+ relative_base=${relative_base%/*}
+ relative_up="../$relative_up"
done
- dirname "$up${path#"$base/"}"
+ dirname "$relative_up${relative_pathname#"$relative_base/"}"
}
SRCPATH="$(relative_path "$(dirname "$0")")"
@@ -604,10 +630,16 @@
# test for use of compilers that require specific handling
cc_base="$(basename "$CC")"
QPRE="-"
-if [[ $host_os = mingw* || $host_os = msys* || $host_os = cygwin* ]]; then
- if [[ "$cc_base" = icl || "$cc_base" = icl[\ .]* ]]; then
+case $host_os in
+mingw*|msys*|cygwin*)
+ case $cc_base in
+ icl|icl.*|icl\ *)
# Windows Intel Compiler creates dependency generation with absolute Windows paths, Cygwin's make does not support Windows paths.
- [[ $host_os = cygwin* ]] && die "Windows Intel Compiler support requires MSYS"
+ case $host_os in
+ cygwin*)
+ die "Windows Intel Compiler support requires MSYS"
+ ;;
+ esac
compiler=ICL
compiler_style=MS
CFLAGS="$CFLAGS -Qstd=c99 -nologo -Qms0 -DHAVE_STRING_H -I\$(SRCPATH)/extras"
@@ -621,7 +653,8 @@
if cc_check '' -Qdiag-error:10006,10157 ; then
CHECK_CFLAGS="$CHECK_CFLAGS -Qdiag-error:10006,10157"
fi
- elif [[ "$cc_base" = cl || "$cc_base" = cl[\ .]* ]]; then
+ ;;
+ cl|cl.*|cl\ *)
# Standard Microsoft Visual Studio
compiler=CL
compiler_style=MS
@@ -636,16 +669,22 @@
elif cpp_check '' '' 'defined(_M_ARM)' ; then
host_cpu=arm
fi
- else
+ ;;
+ *)
# MinGW uses broken pre-VS2015 Microsoft printf functions unless it's told to use the POSIX ones.
CFLAGS="$CFLAGS -D_POSIX_C_SOURCE=200112L"
- fi
-else
- if [[ "$cc_base" = icc || "$cc_base" = icc[\ .]* ]]; then
+ ;;
+ esac
+ ;;
+*)
+ case $cc_base in
+ icc|icc.*|icc\ *)
AR="xiar"
compiler=ICC
- fi
-fi
+ ;;
+ esac
+ ;;
+esac
if [ $compiler = GNU ]; then
if cc_check '' -Werror=unknown-warning-option ; then
@@ -711,7 +750,7 @@
;;
cygwin*|mingw*|msys*)
EXE=".exe"
- if [[ $host_os = cygwin* ]] && cpp_check "" "" "defined(__CYGWIN__)" ; then
+ if case $host_os in cygwin*) true ;; *) false ;; esac && cpp_check "" "" "defined(__CYGWIN__)" ; then
SYS="CYGWIN"
define HAVE_MALLOC_H
else
@@ -766,11 +805,23 @@
AS_EXT=".asm"
ASFLAGS="$ASFLAGS -DARCH_X86_64=0 -I\$(SRCPATH)/common/x86/"
if [ $compiler = GNU ]; then
- if [[ "$asm" == auto && "$CFLAGS" != *-march* ]]; then
- CFLAGS="$CFLAGS -march=i686"
+ if [ "$asm" = auto ]; then
+ case " $CFLAGS " in
+ *" -march"*)
+ ;;
+ *)
+ CFLAGS="$CFLAGS -march=i686"
+ ;;
+ esac
fi
- if [[ "$asm" == auto && "$CFLAGS" != *-mfpmath* ]]; then
- CFLAGS="$CFLAGS -mfpmath=sse -msse -msse2"
+ if [ "$asm" = auto ]; then
+ case " $CFLAGS " in
+ *" -mfpmath"*)
+ ;;
+ *)
+ CFLAGS="$CFLAGS -mfpmath=sse -msse -msse2"
+ ;;
+ esac
fi
CFLAGS="-m32 $CFLAGS"
LDFLAGS="-m32 $LDFLAGS"
@@ -1000,7 +1051,7 @@
if [ $asm = auto -a $ARCH = ARM ] ; then
# set flags so neon is built by default
- [ $compiler == CL ] || echo $CFLAGS | grep -Eq '(-mcpu|-march|-mfpu)' || CFLAGS="$CFLAGS -mcpu=cortex-a8 -mfpu=neon"
+ [ "$compiler" = CL ] || printf '%s\n' "$CFLAGS" | grep -Eq '(^| )(-mcpu|-march|-mfpu)' || CFLAGS="$CFLAGS -mcpu=cortex-a8 -mfpu=neon"
cc_check '' '' '__asm__("add r0, r1, r2");' && define HAVE_ARM_INLINE_ASM
if [ $compiler = CL ] && cpp_check '' '' 'defined(_M_ARM) && _M_ARM >= 7' ; then
@@ -1392,7 +1443,13 @@
if [ "$pic" = "yes" ] ; then
[ "$SYS" != WINDOWS -a "$SYS" != CYGWIN ] && CFLAGS="$CFLAGS -fPIC"
- [[ "$ASFLAGS" != *"-DPIC"* ]] && ASFLAGS="$ASFLAGS -DPIC"
+ case " $ASFLAGS " in
+ *" -DPIC "*)
+ ;;
+ *)
+ ASFLAGS="$ASFLAGS -DPIC"
+ ;;
+ esac
# resolve textrels in the x86 asm
cc_check stdio.h "-shared -Wl,-Bsymbolic" && SOFLAGS="$SOFLAGS -Wl,-Bsymbolic"
[ $SYS = SunOS -a "$ARCH" = "X86" ] && SOFLAGS="$SOFLAGS -mimpure-text"
@@ -1682,8 +1739,14 @@
if [ "$bashcompletion" = "auto" ]; then
if [ "$cli" = "no" ]; then
bashcompletion="no"
- elif [[ -z "$bashcompletionsdir" && "$prefix" != "/usr" && "$prefix" != "/usr/"* ]]; then
- bashcompletion="no"
+ elif [ -z "$bashcompletionsdir" ]; then
+ case $prefix in
+ /usr|/usr/*)
+ ;;
+ *)
+ bashcompletion="no"
+ ;;
+ esac
fi
fi
@@ -1750,8 +1813,7 @@
cat conftest.log
[ "$SRCPATH" != "." ] && ln -sf ${SRCPATH}/Makefile ./Makefile
-mkdir -p common/{aarch64,arm,mips,ppc,x86,loongarch} encoder extras filters/video input output tools
+mkdir -p common/aarch64 common/arm common/mips common/ppc common/x86 common/loongarch encoder extras filters/video input output tools
echo
echo "You can run 'make' or 'make fprofiled' now."
-
+33
View File
@@ -0,0 +1,33 @@
[build]
type = "autotools"
[build.flags]
configure = [
"--enable-shared",
"--disable-cli",
"--enable-pic",
"--disable-avs",
]
[dependencies]
build = ["nasm"]
runtime = [
"glibc",
"l-smash",
]
[package]
description = "a library for encoding video streams into the H.264/MPEG-4 AVC format"
homepage = "https://www.videolan.org/developers/x264.html"
license = "GPL-2.0-only"
name = "x264"
version = "20250815"
[[source]]
extract_dir = "$name-$version"
sha256 = "eb9c8febcf4889d01a4fd97f67a9bec74981a67c89d04e492b74e81edd720031"
url = "https://anduin.linuxfromscratch.org/BLFS/x264/x264-$version.tar.xz"
patches = [ "x264-posixify.patch" ]
[[manual_sources]]
file = "x264-posixify.patch"
+33
View File
@@ -0,0 +1,33 @@
[build]
type = "cmake"
[build.flags]
build_dir = "build"
configure = [
"-G Ninja",
"-W no-dev",
]
source_subdir = "source"
[dependencies]
build = [
"cmake",
"ninja",
"nasm",
]
runtime = [
"libcxx",
"libunwind",
]
[package]
description = "Open Source H265/HEVC video encoder"
homepage = "https://bitbucket.org/multicoreware/x265_git"
license = "GPL-2.0-or-later"
name = "x265"
version = "4.1"
[[source]]
extract_dir = "$name-$version"
url = "https://bitbucket.org/multicoreware/x265_git#$version"
cherry_pick = [ "b354c009a60bcd6d7fc04014e200a1ee9c45c167", "51ae8e922bcc4586ad4710812072289af91492a8", "78e5ac35c13c5cbccc5933083edceb0d3eaeaa21" ]
@@ -0,0 +1,34 @@
[build]
type = "meson"
[build.flags]
build_dir = "build"
configure = [
"-Dcompat-rules=true",
"-Dxorg-rules-symlinks=true",
]
[dependencies]
build = [
"xorg-xkbcomp",
"libxslt",
"python",
"meson",
]
test = [
"python-pytest",
"python-pytest-xdist",
"libxkbcommon"
]
[package]
description = "X keyboard configuration files"
homepage = "https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config"
license = "LicenseRef-xkeyboard-config"
name = "xkeyboard-config"
version = "2.47"
[[source]]
extract_dir = "$name-$version"
sha256 = "e59984416a72d58b46a52bfec1b1361aa7d84354628227ee2783626c7a6db6b6"
url = "https://xorg.freedesktop.org/archive/individual/data/$name/$name-$version.tar.xz"
+23
View File
@@ -0,0 +1,23 @@
[build]
type = "autotools"
[dependencies]
build = ["xorg-util-macros"]
runtime = [
"libxkbfile",
"libx11",
"glibc",
]
groups = [ "xorg", "xorg-apps" ]
[package]
description = "X Keyboard description compiler"
homepage = "https://gitlab.freedesktop.org/xorg/app/xkbcomp"
license = "LicenseRef-xkbcomp"
name = "xorg-xkbcomp"
version = "1.5.0"
[[source]]
extract_dir = "$name-$version"
url = "https://gitlab.freedesktop.org/xorg/app/xkbcomp.git#xkbcomp-$version"
post_extract = [ "autoreconf -fiv" ]
+21
View File
@@ -0,0 +1,21 @@
[build]
type = "autotools"
[build.flags]
source_subdir = "xvidcore/build/generic"
[dependencies]
build = ["nasm"]
runtime = ["glibc"]
[package]
description = "XviD is an open source MPEG-4 video codec"
homepage = "https://www.xvid.com/"
license = "GPL-2.0-or-Later"
name = "xvidcore"
version = "1.3.7"
[[source]]
extract_dir = "$name-$version"
sha256 = "aeeaae952d4db395249839a3bd03841d6844843f5a4f84c271ff88f7aa1acff7"
url = "https://downloads.xvid.com/downloads/xvidcore-$version.tar.bz2"
+11
View File
@@ -0,0 +1,11 @@
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1658,7 +1658,7 @@ if(WITH_DOC)
if(NOT ZMQ_BUILD_FRAMEWORK)
install(
FILES ${html-docs}
- DESTINATION doc/zmq
+ DESTINATION share/doc/zmq
COMPONENT RefGuide)
endif()
endif()
+53
View File
@@ -0,0 +1,53 @@
[build]
type = "cmake"
[build.flags]
build_dir = "build"
configure = [
"-DCMAKE_POLICY_VERSION_MINIMUM=3.5",
"-DBUILD_SHARED=ON",
"-DBUILD_STATIC=OFF",
"-DENABLE_CPACK=OFF",
"-DZMQ_BUILD_TESTS=ON",
"-DWITH_OPENPGM=ON",
"-DOPENPGM_PKGCONFIG_NAME=openpgm-5.3",
"-DWITH_LIBBSD=ON",
"-DWITH_LIBSODIUM=ON",
"-DENABLE_CURVE=ON",
"-DWITH_DOC=ON",
"-G Ninja",
"-Wno-dev",
"-DCMAKE_CXX_STANDARD=11",
'-DCMAKE_CXX_FLAGS="-Drestrict=__restrict__"'
]
[dependencies]
build = [
"cmake",
"ninja",
]
optional = ["cppzmq"]
runtime = [
"glibc",
"gnutls",
"util-linux",
"libsodium",
"libpgm",
"libcxx",
"libunwind",
]
[package]
description = "Fast messaging system built on sockets. C and C++ bindings. aka 0MQ, ZMQ."
homepage = "http://www.zeromq.org/"
license = "MPL-2.0"
name = "zeromq"
version = "4.3.5"
[[source]]
extract_dir = "$name-$version"
url = "https://github.com/zeromq/libzmq#v$version"
patches = [ "fix-doc-install.patch" ]
[[manual_sources]]
file = "fix-doc-install.patch"
+27
View File
@@ -0,0 +1,27 @@
[build]
type = "autotools"
[build.flags]
configure = [
"--enable-x86simd",
"--disable-static",
]
[dependencies]
runtime = [
"libcxx",
"libunwind",
"glibc",
]
[package]
description = "Scaling, colorspace conversion, and dithering library"
homepage = "https://github.com/sekrit-twc/zimg"
license = "WTFPL"
name = "zimg"
version = "3.0.6"
[[source]]
extract_dir = "$name-$version"
post_extract = ["./autogen.sh"]
url = "https://github.com/sekrit-twc/zimg.git#release-$version"