mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-08-09 17:03:35 -09:00
Compare commits
13 Commits
c8e0ccce0a
...
f5a8cb5564
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f5a8cb5564 | ||
|
|
5bfea99b11 | ||
|
|
e258607bc9 | ||
|
|
abad652fee | ||
|
|
85d47bbc40 | ||
|
|
573a113edd | ||
|
|
8bab0acff6 | ||
|
|
61fe61af31 | ||
|
|
ceaf0a2283 | ||
|
|
3aaf596b60 | ||
|
|
d35664ad35 | ||
|
|
53b95def9e | ||
|
|
5cb9002e81 |
@@ -1856,6 +1856,8 @@ F: support/testing/tests/package/test_4th.py
|
||||
F: support/testing/tests/package/test_acl.py
|
||||
F: support/testing/tests/package/test_acpica.py
|
||||
F: support/testing/tests/package/test_acpica/
|
||||
F: support/testing/tests/package/test_aichat.py
|
||||
F: support/testing/tests/package/test_aichat/
|
||||
F: support/testing/tests/package/test_apache.py
|
||||
F: support/testing/tests/package/test_attr.py
|
||||
F: support/testing/tests/package/test_audio_codec_base.py
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# From http://gondor.apana.org.au/~herbert/dash/files/dash-0.5.13.tar.gz.sha512sum
|
||||
# From http://gondor.apana.org.au/~herbert/dash/files/dash-0.5.13.1.tar.gz.sha512sum
|
||||
# After checking pgp signature
|
||||
# using key 9F9D45FE50AE361530983792C7271D0A49B18BA7
|
||||
sha512 428de1f65ab77d5fee88bbf4ba8642d77abfda223a4ede423d09db9faa4f0347199b3be841d63b93a7ed68f714ef54ff41b2dc936e4b7ebb19b74499ed4e6a01 dash-0.5.13.tar.gz
|
||||
sha512 6b3d67f76e74853349fe99121b2ee96d32da9863042744e03984eb6a01bf437eee2f2e81fbdd0436090abfecacc2f5589960820c3d0d5f3dd580948d38d5dc1d dash-0.5.13.1.tar.gz
|
||||
# Locally calculated
|
||||
sha256 fd8da121e306b27f59330613417b182b8844f11e269531cc4720bf523e3e06d7 dash-0.5.13.tar.gz
|
||||
sha256 d9271bce09c127d9866e25c011582ddc75ab988958a04bc4d8553a3b8f30e370 dash-0.5.13.1.tar.gz
|
||||
sha256 254a7894923ff62e69184a991dcbccae97edee58a1105e8efbe78caf10595d72 COPYING
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
DASH_VERSION = 0.5.13
|
||||
DASH_VERSION = 0.5.13.1
|
||||
DASH_SITE = http://gondor.apana.org.au/~herbert/dash/files
|
||||
DASH_LICENSE = BSD-3-Clause, GPL-2.0+ (mksignames.c)
|
||||
DASH_LICENSE_FILES = COPYING
|
||||
|
||||
146
package/freerdp/0005-fix-ffmpeg-deprecations.patch
Normal file
146
package/freerdp/0005-fix-ffmpeg-deprecations.patch
Normal file
@@ -0,0 +1,146 @@
|
||||
From 83bda60872d2f8f4230de53a645112d8239b67ba Mon Sep 17 00:00:00 2001
|
||||
From: Armin Novak <armin.novak@thincast.com>
|
||||
Date: Wed, 7 Jun 2023 11:46:07 +0200
|
||||
Subject: [PATCH] fix ffmpeg deprecations
|
||||
|
||||
Upstream: https://github.com/FreeRDP/FreeRDP/commit/d0c5b1ae4289c7f3cde3fbc031cb4a3160df05ff
|
||||
|
||||
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
|
||||
---
|
||||
libfreerdp/codec/dsp_ffmpeg.c | 54 +++++++++++++++++++++++++++--------
|
||||
1 file changed, 42 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/libfreerdp/codec/dsp_ffmpeg.c b/libfreerdp/codec/dsp_ffmpeg.c
|
||||
index 80df18833..22d6ce215 100644
|
||||
--- a/libfreerdp/codec/dsp_ffmpeg.c
|
||||
+++ b/libfreerdp/codec/dsp_ffmpeg.c
|
||||
@@ -225,18 +225,17 @@ static void ffmpeg_close_context(FREERDP_DSP_CONTEXT* context)
|
||||
static BOOL ffmpeg_open_context(FREERDP_DSP_CONTEXT* context)
|
||||
{
|
||||
int ret;
|
||||
- int layout;
|
||||
- const AUDIO_FORMAT* format;
|
||||
|
||||
if (!context || context->isOpen)
|
||||
return FALSE;
|
||||
|
||||
- format = &context->format;
|
||||
+ const AUDIO_FORMAT* format = &context->format;
|
||||
|
||||
if (!format)
|
||||
return FALSE;
|
||||
-
|
||||
- layout = av_get_default_channel_layout(format->nChannels);
|
||||
+#if LIBAVUTIL_VERSION_INT < AV_VERSION_INT(57, 28, 100)
|
||||
+ const int layout = av_get_default_channel_layout(format->nChannels);
|
||||
+#endif
|
||||
context->id = ffmpeg_get_avcodec(format);
|
||||
|
||||
if (ffmpeg_codec_is_filtered(context->id, context->encoder))
|
||||
@@ -270,8 +269,12 @@ static BOOL ffmpeg_open_context(FREERDP_DSP_CONTEXT* context)
|
||||
break;
|
||||
}
|
||||
|
||||
+#if LIBAVUTIL_VERSION_INT < AV_VERSION_INT(57, 28, 100)
|
||||
context->context->channels = format->nChannels;
|
||||
context->context->channel_layout = layout;
|
||||
+#else
|
||||
+ av_channel_layout_default(&context->context->ch_layout, format->nChannels);
|
||||
+#endif
|
||||
context->context->sample_rate = format->nSamplesPerSec;
|
||||
context->context->block_align = format->nBlockAlign;
|
||||
context->context->bit_rate = format->nAvgBytesPerSec * 8;
|
||||
@@ -314,8 +317,12 @@ static BOOL ffmpeg_open_context(FREERDP_DSP_CONTEXT* context)
|
||||
if (!context->rcontext)
|
||||
goto fail;
|
||||
|
||||
+#if LIBAVUTIL_VERSION_INT < AV_VERSION_INT(57, 28, 100)
|
||||
context->frame->channel_layout = layout;
|
||||
context->frame->channels = format->nChannels;
|
||||
+#else
|
||||
+ av_channel_layout_default(&context->frame->ch_layout, format->nChannels);
|
||||
+#endif
|
||||
context->frame->sample_rate = format->nSamplesPerSec;
|
||||
context->frame->format = AV_SAMPLE_FMT_S16;
|
||||
|
||||
@@ -330,13 +337,21 @@ static BOOL ffmpeg_open_context(FREERDP_DSP_CONTEXT* context)
|
||||
context->resampled->sample_rate = format->nSamplesPerSec;
|
||||
}
|
||||
|
||||
+#if LIBAVUTIL_VERSION_INT < AV_VERSION_INT(57, 28, 100)
|
||||
context->resampled->channel_layout = layout;
|
||||
context->resampled->channels = format->nChannels;
|
||||
+#else
|
||||
+ av_channel_layout_default(&context->resampled->ch_layout, format->nChannels);
|
||||
+#endif
|
||||
|
||||
if (context->context->frame_size > 0)
|
||||
{
|
||||
+#if LIBAVUTIL_VERSION_INT < AV_VERSION_INT(57, 28, 100)
|
||||
context->buffered->channel_layout = context->resampled->channel_layout;
|
||||
context->buffered->channels = context->resampled->channels;
|
||||
+#else
|
||||
+ av_channel_layout_copy(&context->buffered->ch_layout, &context->resampled->ch_layout);
|
||||
+#endif
|
||||
context->buffered->format = context->resampled->format;
|
||||
context->buffered->nb_samples = context->context->frame_size;
|
||||
|
||||
@@ -477,14 +492,20 @@ static BOOL ffmpeg_fill_frame(AVFrame* frame, const AUDIO_FORMAT* inputFormat, c
|
||||
size_t size)
|
||||
{
|
||||
int ret, bpp;
|
||||
+#if LIBAVUTIL_VERSION_INT < AV_VERSION_INT(57, 28, 100)
|
||||
frame->channels = inputFormat->nChannels;
|
||||
+ frame->channel_layout = av_get_default_channel_layout(frame->channels);
|
||||
+#else
|
||||
+ av_channel_layout_default(&frame->ch_layout, inputFormat->nChannels);
|
||||
+#endif
|
||||
frame->sample_rate = inputFormat->nSamplesPerSec;
|
||||
frame->format = ffmpeg_sample_format(inputFormat);
|
||||
- frame->channel_layout = av_get_default_channel_layout(frame->channels);
|
||||
+
|
||||
bpp = av_get_bytes_per_sample(frame->format);
|
||||
frame->nb_samples = size / inputFormat->nChannels / bpp;
|
||||
|
||||
- if ((ret = avcodec_fill_audio_frame(frame, frame->channels, frame->format, data, size, 1)) < 0)
|
||||
+ if ((ret = avcodec_fill_audio_frame(frame, inputFormat->nChannels, frame->format, data, size,
|
||||
+ 1)) < 0)
|
||||
{
|
||||
const char* err = av_err2str(ret);
|
||||
WLog_ERR(TAG, "Error during audio frame fill %s [%d]", err, ret);
|
||||
@@ -566,7 +587,12 @@ static BOOL ffmpeg_decode(AVCodecContext* dec_ctx, AVPacket* pkt, AVFrame* frame
|
||||
}
|
||||
|
||||
{
|
||||
- const size_t data_size = resampled->channels * resampled->nb_samples * 2;
|
||||
+#if LIBAVUTIL_VERSION_INT < AV_VERSION_INT(57, 28, 100)
|
||||
+ const size_t channels = resampled->channels;
|
||||
+#else
|
||||
+ const size_t channels = resampled->ch_layout.nb_channels;
|
||||
+#endif
|
||||
+ const size_t data_size = channels * resampled->nb_samples * 2;
|
||||
Stream_EnsureRemainingCapacity(out, data_size);
|
||||
Stream_Write(out, resampled->data[0], data_size);
|
||||
}
|
||||
@@ -661,10 +687,14 @@ BOOL freerdp_dsp_ffmpeg_encode(FREERDP_DSP_CONTEXT* context, const AUDIO_FORMAT*
|
||||
if (inSamples + (int)context->bufferedSamples > context->context->frame_size)
|
||||
inSamples = context->context->frame_size - (int)context->bufferedSamples;
|
||||
|
||||
- rc =
|
||||
- av_samples_copy(context->buffered->extended_data, context->resampled->extended_data,
|
||||
- (int)context->bufferedSamples, copied, inSamples,
|
||||
- context->context->channels, context->context->sample_fmt);
|
||||
+#if LIBAVUTIL_VERSION_INT < AV_VERSION_INT(57, 28, 100)
|
||||
+ const int channels = context->context->channels;
|
||||
+#else
|
||||
+ const int channels = context->context->ch_layout.nb_channels;
|
||||
+#endif
|
||||
+ rc = av_samples_copy(context->buffered->extended_data,
|
||||
+ context->resampled->extended_data, (int)context->bufferedSamples,
|
||||
+ copied, inSamples, channels, context->context->sample_fmt);
|
||||
rest -= inSamples;
|
||||
copied += inSamples;
|
||||
context->bufferedSamples += (UINT32)inSamples;
|
||||
--
|
||||
2.47.3
|
||||
|
||||
34
package/freerdp/0006-fix-ffmpeg-deprecation-warning.patch
Normal file
34
package/freerdp/0006-fix-ffmpeg-deprecation-warning.patch
Normal file
@@ -0,0 +1,34 @@
|
||||
From 83ba6817093ad1546053878c2e720d13f29f9126 Mon Sep 17 00:00:00 2001
|
||||
From: Armin Novak <anovak@thincast.com>
|
||||
Date: Fri, 24 Nov 2023 19:40:52 +0100
|
||||
Subject: [PATCH] fix ffmpeg deprecation warning
|
||||
|
||||
Upstream: https://github.com/FreeRDP/FreeRDP/commit/1ef7b9e3e06ef69e5145c6f11cc330078abaa9ea
|
||||
|
||||
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
|
||||
---
|
||||
libfreerdp/codec/dsp_ffmpeg.c | 8 +++++++-
|
||||
1 file changed, 7 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/libfreerdp/codec/dsp_ffmpeg.c b/libfreerdp/codec/dsp_ffmpeg.c
|
||||
index 22d6ce215..5c89af6b1 100644
|
||||
--- a/libfreerdp/codec/dsp_ffmpeg.c
|
||||
+++ b/libfreerdp/codec/dsp_ffmpeg.c
|
||||
@@ -436,7 +436,13 @@ static BOOL ffmpeg_encode_frame(AVCodecContext* context, AVFrame* in, AVPacket*
|
||||
if (in->format == AV_SAMPLE_FMT_FLTP)
|
||||
{
|
||||
uint8_t** pp = in->extended_data;
|
||||
- for (int y = 0; y < in->channels; y++)
|
||||
+#if LIBAVUTIL_VERSION_INT < AV_VERSION_INT(57, 28, 100)
|
||||
+ const int nr_channels = in->channels;
|
||||
+#else
|
||||
+ const int nr_channels = in->ch_layout.nb_channels;
|
||||
+#endif
|
||||
+
|
||||
+ for (int y = 0; y < nr_channels; y++)
|
||||
{
|
||||
float* data = (float*)pp[y];
|
||||
for (int x = 0; x < in->nb_samples; x++)
|
||||
--
|
||||
2.47.3
|
||||
|
||||
31
package/freerdp/0007-FF_PROFILE-Depreciation-Fix.patch
Normal file
31
package/freerdp/0007-FF_PROFILE-Depreciation-Fix.patch
Normal file
@@ -0,0 +1,31 @@
|
||||
From 9360089dfbcb6ee97a6b8f40c85f61e4108c80e4 Mon Sep 17 00:00:00 2001
|
||||
From: endlesseden <endlesseden@users.noreply.github.com>
|
||||
Date: Tue, 29 Apr 2025 16:11:03 +1000
|
||||
Subject: [PATCH] FF_PROFILE Depreciation Fix
|
||||
|
||||
Upstream: https://github.com/FreeRDP/FreeRDP/commit/af45cb37e3b2d81a11637c4b2dfe82e8947c41ea
|
||||
|
||||
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
|
||||
---
|
||||
libfreerdp/codec/dsp_ffmpeg.c | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/libfreerdp/codec/dsp_ffmpeg.c b/libfreerdp/codec/dsp_ffmpeg.c
|
||||
index 5c89af6b1..8955e894d 100644
|
||||
--- a/libfreerdp/codec/dsp_ffmpeg.c
|
||||
+++ b/libfreerdp/codec/dsp_ffmpeg.c
|
||||
@@ -262,7 +262,11 @@ static BOOL ffmpeg_open_context(FREERDP_DSP_CONTEXT* context)
|
||||
break;
|
||||
|
||||
case AV_CODEC_ID_AAC:
|
||||
+#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(60, 31, 102)
|
||||
context->context->profile = FF_PROFILE_AAC_MAIN;
|
||||
+#else
|
||||
+ context->context->profile = AV_PROFILE_AAC_MAIN;
|
||||
+#endif
|
||||
break;
|
||||
|
||||
default:
|
||||
--
|
||||
2.47.3
|
||||
|
||||
44
package/freerdp/0008-ignore-EAGAIN-for-FFMPEG.patch
Normal file
44
package/freerdp/0008-ignore-EAGAIN-for-FFMPEG.patch
Normal file
@@ -0,0 +1,44 @@
|
||||
From dcc8f415866e348ae86cfe85fde3c2d9285a7208 Mon Sep 17 00:00:00 2001
|
||||
From: akallabeth <akallabeth@posteo.net>
|
||||
Date: Tue, 28 Jan 2025 20:25:17 +0100
|
||||
Subject: [PATCH] ignore EAGAIN for FFMPEG
|
||||
|
||||
Upstream: https://github.com/FreeRDP/FreeRDP/commit/726add2a982bfdf4cffef3cc95395c9a4b49385b
|
||||
|
||||
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
|
||||
[partially backported to stable-2.0 branch]
|
||||
---
|
||||
libfreerdp/codec/h264_ffmpeg.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/libfreerdp/codec/h264_ffmpeg.c b/libfreerdp/codec/h264_ffmpeg.c
|
||||
index 9c445b825..da6bed08e 100644
|
||||
--- a/libfreerdp/codec/h264_ffmpeg.c
|
||||
+++ b/libfreerdp/codec/h264_ffmpeg.c
|
||||
@@ -100,10 +100,10 @@ static void libavcodec_destroy_encoder(H264_CONTEXT* h264)
|
||||
|
||||
if (sys->codecEncoderContext)
|
||||
{
|
||||
- avcodec_close(sys->codecEncoderContext);
|
||||
#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55, 69, 100)
|
||||
avcodec_free_context(&sys->codecEncoderContext);
|
||||
#else
|
||||
+ avcodec_close(sys->codecEncoderContext);
|
||||
av_free(sys->codecEncoderContext);
|
||||
#endif
|
||||
}
|
||||
@@ -430,10 +430,10 @@ static void libavcodec_uninit(H264_CONTEXT* h264)
|
||||
|
||||
if (sys->codecDecoderContext)
|
||||
{
|
||||
- avcodec_close(sys->codecDecoderContext);
|
||||
#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55, 69, 100)
|
||||
avcodec_free_context(&sys->codecDecoderContext);
|
||||
#else
|
||||
+ avcodec_close(sys->codecDecoderContext);
|
||||
av_free(sys->codecDecoderContext);
|
||||
#endif
|
||||
}
|
||||
--
|
||||
2.47.3
|
||||
|
||||
@@ -15,7 +15,9 @@ FREERDP_CPE_ID_VENDOR = freerdp
|
||||
|
||||
FREERDP_INSTALL_STAGING = YES
|
||||
|
||||
FREERDP_CONF_OPTS = -DWITH_MANPAGES=OFF -Wno-dev -DWITH_GSTREAMER_0_10=OFF
|
||||
FREERDP_CONF_OPTS = \
|
||||
-DCMAKE_C_FLAGS="$(TARGET_CFLAGS) -Wno-incompatible-pointer-types" \
|
||||
-DWITH_MANPAGES=OFF -Wno-dev -DWITH_GSTREAMER_0_10=OFF
|
||||
|
||||
ifeq ($(BR2_PACKAGE_FREERDP_GSTREAMER1),y)
|
||||
FREERDP_CONF_OPTS += -DWITH_GSTREAMER_1_0=ON
|
||||
|
||||
52
package/freeswitch/0004-ffmpeg8.patch
Normal file
52
package/freeswitch/0004-ffmpeg8.patch
Normal file
@@ -0,0 +1,52 @@
|
||||
From 0ce211af3a3ad0b1060b542d0a92a07dab5d2d59 Mon Sep 17 00:00:00 2001
|
||||
From: Bernd Kuhls <bernd@kuhls.net>
|
||||
Date: Sat, 23 Aug 2025 18:15:39 +0200
|
||||
Subject: [PATCH] [mod_av] Add support for FFmpeg 8.0
|
||||
|
||||
remove deprecated FF_API_FF_PROFILE_LEVEL:
|
||||
https://github.com/FFmpeg/FFmpeg/commit/822432769868da325ba03774df1084aa78b9a5a0
|
||||
|
||||
Upstream: https://github.com/signalwire/freeswitch/pull/2896
|
||||
|
||||
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
|
||||
---
|
||||
src/mod/applications/mod_av/avcodec.c | 10 +++++-----
|
||||
1 file changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/src/mod/applications/mod_av/avcodec.c b/src/mod/applications/mod_av/avcodec.c
|
||||
index a9d449b562c..9962b821d53 100644
|
||||
--- a/src/mod/applications/mod_av/avcodec.c
|
||||
+++ b/src/mod/applications/mod_av/avcodec.c
|
||||
@@ -530,7 +530,7 @@ static void init_profile(avcodec_profile_t *aprofile, const char *name)
|
||||
aprofile->decoder_thread_count = avcodec_globals.dec_threads;
|
||||
|
||||
if (!strcasecmp(name, "H264")) {
|
||||
- aprofile->ctx.profile = FF_PROFILE_H264_BASELINE;
|
||||
+ aprofile->ctx.profile = AV_PROFILE_H264_BASELINE;
|
||||
aprofile->ctx.level = 31;
|
||||
#ifdef AV_CODEC_FLAG_PSNR
|
||||
aprofile->ctx.flags |= AV_CODEC_FLAG_PSNR;
|
||||
@@ -2071,7 +2071,7 @@ static void parse_profile(avcodec_profile_t *aprofile, switch_xml_t profile)
|
||||
|
||||
ctx = &aprofile->ctx;
|
||||
|
||||
- ctx->profile = FF_PROFILE_H264_BASELINE;
|
||||
+ ctx->profile = AV_PROFILE_H264_BASELINE;
|
||||
ctx->level = 31;
|
||||
|
||||
for (param = switch_xml_child(profile, "param"); param; param = param->next) {
|
||||
@@ -2094,11 +2094,11 @@ static void parse_profile(avcodec_profile_t *aprofile, switch_xml_t profile)
|
||||
|
||||
if (ctx->profile == 0 && !strcasecmp(aprofile->name, "H264")) {
|
||||
if (!strcasecmp(value, "baseline")) {
|
||||
- ctx->profile = FF_PROFILE_H264_BASELINE;
|
||||
+ ctx->profile = AV_PROFILE_H264_BASELINE;
|
||||
} else if (!strcasecmp(value, "main")) {
|
||||
- ctx->profile = FF_PROFILE_H264_MAIN;
|
||||
+ ctx->profile = AV_PROFILE_H264_MAIN;
|
||||
} else if (!strcasecmp(value, "high")) {
|
||||
- ctx->profile = FF_PROFILE_H264_HIGH;
|
||||
+ ctx->profile = AV_PROFILE_H264_HIGH;
|
||||
}
|
||||
}
|
||||
} else if (!strcmp(name, "level")) {
|
||||
@@ -1,5 +1,10 @@
|
||||
config BR2_PACKAGE_IGT_GPU_TOOLS_ARCH_SUPPORTS
|
||||
bool
|
||||
default y if BR2_ENDIAN = "LITTLE"
|
||||
|
||||
config BR2_PACKAGE_IGT_GPU_TOOLS
|
||||
bool "igt-gpu-tools"
|
||||
depends on BR2_PACKAGE_IGT_GPU_TOOLS_ARCH_SUPPORTS
|
||||
depends on BR2_USE_MMU # fork()
|
||||
depends on BR2_ENABLE_LOCALE
|
||||
depends on !BR2_STATIC_LIBS
|
||||
@@ -35,6 +40,7 @@ config BR2_PACKAGE_IGT_GPU_TOOLS_TESTS
|
||||
endif
|
||||
|
||||
comment "igt-gpu-tools needs udev /dev management and toolchain w/ NPTL, wchar, dynamic library, locale, headers >= 4.11"
|
||||
depends on BR2_PACKAGE_IGT_GPU_TOOLS_ARCH_SUPPORTS
|
||||
depends on BR2_USE_MMU
|
||||
depends on !BR2_PACKAGE_HAS_UDEV || BR2_STATIC_LIBS || \
|
||||
!BR2_TOOLCHAIN_HAS_THREADS_NPTL || !BR2_USE_WCHAR || \
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
config BR2_PACKAGE_PYTHON_ZIPSTREAM_NG
|
||||
bool "python-zipstream-ng"
|
||||
select BR2_PACKAGE_PYTHON3_ZSTD # runtime
|
||||
help
|
||||
A modern and easy to use streamable zip file generator.
|
||||
|
||||
|
||||
@@ -127,6 +127,12 @@ config BR2_PACKAGE_PYTHON3_ZLIB
|
||||
help
|
||||
zlib support in Python3
|
||||
|
||||
config BR2_PACKAGE_PYTHON3_ZSTD
|
||||
bool "zstd module"
|
||||
select BR2_PACKAGE_ZSTD
|
||||
help
|
||||
zstd support in Python3
|
||||
|
||||
endmenu
|
||||
|
||||
endif
|
||||
|
||||
@@ -170,6 +170,12 @@ else
|
||||
PYTHON3_CONF_ENV += py_cv_module_zlib=n/a
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_PYTHON3_ZSTD),y)
|
||||
PYTHON3_DEPENDENCIES += zstd
|
||||
else
|
||||
PYTHON3_CONF_ENV += py_cv_module__zstd=n/a
|
||||
endif
|
||||
|
||||
ifneq ($(BR2_PACKAGE_PYTHON3_OSSAUDIODEV),y)
|
||||
PYTHON3_CONF_ENV += py_cv_module_ossaudiodev=n/a
|
||||
endif
|
||||
|
||||
39
package/qt6/qt6multimedia/0001-ffmpeg8.patch
Normal file
39
package/qt6/qt6multimedia/0001-ffmpeg8.patch
Normal file
@@ -0,0 +1,39 @@
|
||||
From 9670d9e5eb7acb9efb0f2f1a798a09baace53d82 Mon Sep 17 00:00:00 2001
|
||||
From: Tim Blechmann <tim.blechmann@qt.io>
|
||||
Date: Mon, 2 Jun 2025 09:56:57 +0800
|
||||
Subject: FFmpeg: 7.2 compile fix
|
||||
|
||||
AV_CODEC_CAP_SUBFRAMES was deprecated without replacement and removed.
|
||||
|
||||
Pick-to: 6.8 6.5
|
||||
Change-Id: I45ac1d0d603f88701bdb727a7a472cfea8f32d5d
|
||||
Reviewed-by: Pavel Dubsky <pavel.dubsky@qt.io>
|
||||
Reviewed-by: Tim Blechmann <tim.blechmann@qt.io>
|
||||
(cherry picked from commit 65b11b9f97632101041134e04713697b17819884)
|
||||
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
||||
(cherry picked from commit ef866d101e58832f0bf86150ed8328e2d3ec9c49)
|
||||
|
||||
Upstream: https://code.qt.io/cgit/qt/qtmultimedia.git/commit/?h=6.9.2&id=9670d9e5eb7acb9efb0f2f1a798a09baace53d82
|
||||
|
||||
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
|
||||
---
|
||||
src/plugins/multimedia/ffmpeg/qffmpegcodecstorage.cpp | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/src/plugins/multimedia/ffmpeg/qffmpegcodecstorage.cpp b/src/plugins/multimedia/ffmpeg/qffmpegcodecstorage.cpp
|
||||
index c154fd835..360a33909 100644
|
||||
--- a/src/plugins/multimedia/ffmpeg/qffmpegcodecstorage.cpp
|
||||
+++ b/src/plugins/multimedia/ffmpeg/qffmpegcodecstorage.cpp
|
||||
@@ -99,7 +99,9 @@ void dumpCodecInfo(const Codec &codec)
|
||||
{ AV_CODEC_CAP_DR1, "DRAW_HORIZ_DR1" },
|
||||
{ AV_CODEC_CAP_DELAY, "DELAY" },
|
||||
{ AV_CODEC_CAP_SMALL_LAST_FRAME, "SMALL_LAST_FRAME" },
|
||||
+#ifdef AV_CODEC_CAP_SUBFRAMES
|
||||
{ AV_CODEC_CAP_SUBFRAMES, "SUBFRAMES" },
|
||||
+#endif
|
||||
{ AV_CODEC_CAP_EXPERIMENTAL, "EXPERIMENTAL" },
|
||||
{ AV_CODEC_CAP_CHANNEL_CONF, "CHANNEL_CONF" },
|
||||
{ AV_CODEC_CAP_FRAME_THREADS, "FRAME_THREADS" },
|
||||
--
|
||||
cgit v1.2.3
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
BR2_aarch64=y
|
||||
BR2_TOOLCHAIN_EXTERNAL=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_URL="http://toolchains.bootlin.com/downloads/releases/toolchains/aarch64--glibc--bleeding-edge-2017.05-toolchains-1-2.tar.bz2"
|
||||
BR2_TOOLCHAIN_EXTERNAL_GCC_6=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_CXX=y
|
||||
@@ -0,0 +1,4 @@
|
||||
BR2_mips64el=y
|
||||
# BR2_MIPS_SOFT_FLOAT is not set
|
||||
BR2_TOOLCHAIN_EXTERNAL=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64EL_N32_GLIBC_STABLE=y
|
||||
@@ -1,3 +0,0 @@
|
||||
BR2_arcle=y
|
||||
BR2_TOOLCHAIN_BUILDROOT_LOCALE=y
|
||||
BR2_TOOLCHAIN_BUILDROOT_CXX=y
|
||||
@@ -1,4 +0,0 @@
|
||||
BR2_arcle=y
|
||||
BR2_archs38=y
|
||||
BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
|
||||
BR2_TOOLCHAIN_BUILDROOT_CXX=y
|
||||
@@ -1,5 +0,0 @@
|
||||
BR2_arm=y
|
||||
BR2_ARM_EABI=y
|
||||
BR2_TOOLCHAIN_BUILDROOT_LOCALE=y
|
||||
BR2_TOOLCHAIN_BUILDROOT_WCHAR=y
|
||||
BR2_TOOLCHAIN_BUILDROOT_CXX=y
|
||||
@@ -1,4 +0,0 @@
|
||||
BR2_arm=y
|
||||
BR2_cortex_a8=y
|
||||
BR2_TOOLCHAIN_BUILDROOT_MUSL=y
|
||||
BR2_TOOLCHAIN_BUILDROOT_CXX=y
|
||||
@@ -1,10 +0,0 @@
|
||||
BR2_x86_pentium4=y
|
||||
BR2_TOOLCHAIN_EXTERNAL=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-i386-pentium4-full-2020.11.2.tar.bz2"
|
||||
BR2_TOOLCHAIN_EXTERNAL_GCC_9=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_4=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
|
||||
# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
|
||||
BR2_TOOLCHAIN_EXTERNAL_CXX=y
|
||||
@@ -1 +0,0 @@
|
||||
BR2_microblazeel=y
|
||||
@@ -1,10 +0,0 @@
|
||||
BR2_mips64el=y
|
||||
BR2_MIPS_NABI64=y
|
||||
# BR2_MIPS_SOFT_FLOAT is not set
|
||||
BR2_TOOLCHAIN_EXTERNAL=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-mips64-n64-full-2020.11.2.tar.bz2"
|
||||
BR2_TOOLCHAIN_EXTERNAL_GCC_8=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_9=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_CXX=y
|
||||
@@ -1,12 +0,0 @@
|
||||
BR2_mips64el=y
|
||||
BR2_mips_64r6=y
|
||||
BR2_MIPS_NABI64=y
|
||||
# BR2_MIPS_SOFT_FLOAT is not set
|
||||
BR2_TOOLCHAIN_EXTERNAL=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-mips64r6-n64-el-hf-2020.11.2.tar.bz2"
|
||||
BR2_TOOLCHAIN_EXTERNAL_GCC_9=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_9=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_CXX=y
|
||||
@@ -1,10 +0,0 @@
|
||||
BR2_powerpc=y
|
||||
BR2_powerpc_603e=y
|
||||
BR2_TOOLCHAIN_EXTERNAL=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-powerpc-603e-basic-cpp-2020.11.2.tar.bz2"
|
||||
BR2_TOOLCHAIN_EXTERNAL_GCC_9=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_9=y
|
||||
# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
|
||||
BR2_TOOLCHAIN_EXTERNAL_CXX=y
|
||||
@@ -1,4 +0,0 @@
|
||||
BR2_powerpc=y
|
||||
BR2_TOOLCHAIN_BUILDROOT_LOCALE=y
|
||||
BR2_TOOLCHAIN_BUILDROOT_WCHAR=y
|
||||
BR2_TOOLCHAIN_BUILDROOT_CXX=y
|
||||
@@ -1,9 +0,0 @@
|
||||
BR2_powerpc64=y
|
||||
BR2_powerpc_power7=y
|
||||
BR2_TOOLCHAIN_EXTERNAL=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.net/toolchains/tarballs/br-powerpc64-power7-glibc-2020.11.2.tar.bz2"
|
||||
BR2_TOOLCHAIN_EXTERNAL_GCC_9=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_9=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_CXX=y
|
||||
@@ -1,4 +0,0 @@
|
||||
BR2_riscv=y
|
||||
BR2_TOOLCHAIN_BUILDROOT_LOCALE=y
|
||||
BR2_TOOLCHAIN_BUILDROOT_WCHAR=y
|
||||
BR2_TOOLCHAIN_BUILDROOT_CXX=y
|
||||
@@ -1,4 +0,0 @@
|
||||
BR2_s390x=y
|
||||
BR2_s390x_z13=y
|
||||
BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
|
||||
BR2_TOOLCHAIN_BUILDROOT_CXX=y
|
||||
@@ -1,3 +0,0 @@
|
||||
BR2_xtensa=y
|
||||
BR2_TOOLCHAIN_BUILDROOT_LOCALE=y
|
||||
BR2_TOOLCHAIN_BUILDROOT_CXX=y
|
||||
@@ -18,6 +18,9 @@ support/config-fragments/autobuild/bootlin-x86-64-musl.config,x86_64
|
||||
# Test a MMU toolchain without dynamic library support
|
||||
support/config-fragments/autobuild/br-arm-full-static.config,x86_64
|
||||
|
||||
# Test a really old toolchain (gcc 6.x, headers 4.9)
|
||||
support/config-fragments/autobuild/bootlin-aarch64-glibc-old.config,x86_64
|
||||
|
||||
# Toolchains used by test-pkg only when the '-a' option is passed:
|
||||
support/config-fragments/autobuild/arm-aarch64.config,x86_64
|
||||
support/config-fragments/autobuild/bootlin-aarch64-glibc.config,x86_64
|
||||
@@ -28,6 +31,7 @@ support/config-fragments/autobuild/bootlin-m68k-5208-uclibc.config,x86_64
|
||||
support/config-fragments/autobuild/bootlin-microblazeel-uclibc.config,x86_64
|
||||
support/config-fragments/autobuild/bootlin-mipsel-uclibc.config,x86_64
|
||||
support/config-fragments/autobuild/bootlin-mipsel32r6-glibc.config,x86_64
|
||||
support/config-fragments/autobuild/bootlin-mips64el-glibc.config,x86_64
|
||||
support/config-fragments/autobuild/bootlin-openrisc-uclibc.config,x86_64
|
||||
support/config-fragments/autobuild/bootlin-powerpc64le-power8-glibc.config,x86_64
|
||||
support/config-fragments/autobuild/bootlin-powerpc-e500mc-uclibc.config,x86_64
|
||||
@@ -42,22 +46,8 @@ support/config-fragments/autobuild/bootlin-x86-i686-musl.config,x86_64
|
||||
support/config-fragments/autobuild/bootlin-x86-64-glibc.config,x86_64
|
||||
support/config-fragments/autobuild/bootlin-x86-64-uclibc.config,x86_64
|
||||
support/config-fragments/autobuild/bootlin-xtensa-uclibc.config,x86_64
|
||||
support/config-fragments/autobuild/br-arc-full-internal.config,any
|
||||
support/config-fragments/autobuild/br-arc-internal-glibc.config,any
|
||||
support/config-fragments/autobuild/br-arm-basic.config,x86_64
|
||||
support/config-fragments/autobuild/br-arm-full-nothread.config,x86_64
|
||||
support/config-fragments/autobuild/br-arm-internal-full.config,any
|
||||
support/config-fragments/autobuild/br-arm-internal-glibc.config,any
|
||||
support/config-fragments/autobuild/br-arm-internal-musl.config,any
|
||||
support/config-fragments/autobuild/br-i386-pentium4-full.config,x86_64
|
||||
support/config-fragments/autobuild/br-loongarch64-full-internal.config,any
|
||||
support/config-fragments/autobuild/br-loongarch64-internal-glibc.config,any
|
||||
support/config-fragments/autobuild/br-microblazeel-full-internal.config,any
|
||||
support/config-fragments/autobuild/br-mips64-n64-full.config,x86_64
|
||||
support/config-fragments/autobuild/br-mips64r6-el-hf-glibc.config,x86_64
|
||||
support/config-fragments/autobuild/br-powerpc-603e-basic-cpp.config,x86_64
|
||||
support/config-fragments/autobuild/br-powerpc64-power7-glibc.config,x86_64
|
||||
support/config-fragments/autobuild/br-powerpc-internal-full.config,any
|
||||
support/config-fragments/autobuild/br-riscv64-full-internal.config,any
|
||||
support/config-fragments/autobuild/br-s390x-z13-internal-glibc.config,any
|
||||
support/config-fragments/autobuild/br-xtensa-full-internal.config,any
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 1 and column 26.
|
108
support/testing/tests/package/test_aichat.py
Normal file
108
support/testing/tests/package/test_aichat.py
Normal file
@@ -0,0 +1,108 @@
|
||||
import json
|
||||
import os
|
||||
import time
|
||||
|
||||
import infra.basetest
|
||||
|
||||
|
||||
class TestAiChat(infra.basetest.BRTest):
|
||||
rootfs_overlay = \
|
||||
infra.filepath("tests/package/test_aichat/rootfs-overlay")
|
||||
config = f"""
|
||||
BR2_aarch64=y
|
||||
BR2_TOOLCHAIN_EXTERNAL=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
|
||||
BR2_SYSTEM_DHCP="eth0"
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.3"
|
||||
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/aarch64-virt/linux.config"
|
||||
BR2_PACKAGE_AICHAT=y
|
||||
BR2_PACKAGE_CA_CERTIFICATES=y
|
||||
BR2_PACKAGE_LIBCURL=y
|
||||
BR2_PACKAGE_LIBCURL_CURL=y
|
||||
BR2_PACKAGE_LLAMA_CPP=y
|
||||
BR2_PACKAGE_LLAMA_CPP_SERVER=y
|
||||
BR2_PACKAGE_LLAMA_CPP_TOOLS=y
|
||||
BR2_PACKAGE_OPENSSL=y
|
||||
BR2_ROOTFS_OVERLAY="{rootfs_overlay}"
|
||||
BR2_TARGET_ROOTFS_EXT2=y
|
||||
BR2_TARGET_ROOTFS_EXT2_SIZE="1024M"
|
||||
# BR2_TARGET_ROOTFS_TAR is not set
|
||||
"""
|
||||
|
||||
def login(self):
|
||||
img = os.path.join(self.builddir, "images", "rootfs.ext2")
|
||||
kern = os.path.join(self.builddir, "images", "Image")
|
||||
self.emulator.boot(
|
||||
arch="aarch64",
|
||||
kernel=kern,
|
||||
kernel_cmdline=["root=/dev/vda"],
|
||||
options=[
|
||||
"-M", "virt",
|
||||
"-cpu", "cortex-a57",
|
||||
"-smp", "4",
|
||||
"-m", "2G",
|
||||
"-drive", f"file={img},if=virtio,format=raw",
|
||||
"-net", "nic,model=virtio",
|
||||
"-net", "user"
|
||||
]
|
||||
)
|
||||
self.emulator.login()
|
||||
|
||||
def test_run(self):
|
||||
self.login()
|
||||
|
||||
# Check the program can execute.
|
||||
self.assertRunOk("aichat --version")
|
||||
|
||||
# We define a Hugging Face model to be downloaded.
|
||||
# We choose a relatively small model, for testing.
|
||||
hf_model = "ggml-org/gemma-3-270m-it-GGUF"
|
||||
|
||||
# We define a common knowledge question to ask to the model.
|
||||
prompt = "What is the capital of the United Kingdom?"
|
||||
|
||||
# We define an expected keyword, to be present in the answer.
|
||||
expected_answer = "london"
|
||||
|
||||
# We set few llama-server options:
|
||||
llama_opts = "--log-file /tmp/llama-server.log"
|
||||
# We set a fixed seed, to reduce variability of the test
|
||||
llama_opts += " --seed 123456789"
|
||||
llama_opts += f" --hf-repo {hf_model}"
|
||||
|
||||
# We start a llama-server in background, which will expose an
|
||||
# openai-compatible API to be used by aichat.
|
||||
cmd = f"( llama-server {llama_opts} &>/dev/null & )"
|
||||
self.assertRunOk(cmd)
|
||||
|
||||
# We wait for the llama-server to be ready. We query the
|
||||
# available models API to check the server is ready. We expect
|
||||
# to see the our model. We also add an extra "echo" to add an
|
||||
# extra newline.
|
||||
cmd = "curl http://127.0.0.1:8080/v1/models && echo"
|
||||
for attempt in range(20 * self.timeout_multiplier):
|
||||
time.sleep(5)
|
||||
# To debug the llama-server startup, uncomment the
|
||||
# following line:
|
||||
# self.assertRunOk("cat /tmp/llama-server.log")
|
||||
out, ret = self.emulator.run(cmd)
|
||||
if ret == 0:
|
||||
models_json = "".join(out)
|
||||
models = json.loads(models_json)
|
||||
model_name = models['models'][0]['name']
|
||||
if model_name == hf_model:
|
||||
break
|
||||
else:
|
||||
self.fail("Timeout while waiting for llama-server.")
|
||||
|
||||
# We ask our question and check the expected answer is present
|
||||
# in the output. We pipe the output in "cat" to suppress the
|
||||
# aichat UTF-8 spinner (aichat stdout will not be a tty).
|
||||
cmd = f"aichat '{prompt}' | cat"
|
||||
out, ret = self.emulator.run(cmd, timeout=120)
|
||||
self.assertEqual(ret, 0)
|
||||
out_str = "\n".join(out).lower()
|
||||
self.assertIn(expected_answer, out_str)
|
||||
@@ -0,0 +1,11 @@
|
||||
# see https://github.com/sigoden/aichat/blob/main/config.example.yaml
|
||||
|
||||
model: llama-server:ggml-org/gemma-3-270m-it-GGUF
|
||||
stream: false
|
||||
highlight: false
|
||||
clients:
|
||||
- type: openai-compatible
|
||||
name: llama-server
|
||||
api_base: http://127.0.0.1:8080/v1
|
||||
models:
|
||||
- name: ggml-org/gemma-3-270m-it-GGUF
|
||||
Reference in New Issue
Block a user