diff --git a/media-libs/libebur128/libebur128-1.2.4.recipe b/media-libs/libebur128/libebur128-1.2.6.recipe similarity index 91% rename from media-libs/libebur128/libebur128-1.2.4.recipe rename to media-libs/libebur128/libebur128-1.2.6.recipe index 29720ecf5..5847d2881 100644 --- a/media-libs/libebur128/libebur128-1.2.4.recipe +++ b/media-libs/libebur128/libebur128-1.2.6.recipe @@ -6,8 +6,9 @@ COPYRIGHT="2011 Jan Kokemüller" LICENSE="MIT" REVISION="1" SOURCE_URI="https://github.com/jiixyj/libebur128/archive/v$portVersion.tar.gz" -CHECKSUM_SHA256="2ee41a3a5ae3891601ae975d5ec2642b997d276ef647cf5c5b363b6127f7add8" +CHECKSUM_SHA256="baa7fc293a3d4651e244d8022ad03ab797ca3c2ad8442c43199afe8059faa613" SOURCE_FILENAME="libebur128-$portVersion.tar.gz" +PATCHES="libebur128-$portVersion.patchset" ARCHITECTURES="all" SECONDARY_ARCHITECTURES="x86_gcc2 x86" @@ -50,6 +51,7 @@ BUILD() mkdir build cd build cmake .. \ + -DCMAKE_BUILD_TYPE=Release \ -DENABLE_INTERNAL_QUEUE_H=1 \ -DCMAKE_INSTALL_PREFIX:PATH="$prefix" \ -DCMAKE_INSTALL_LIBDIR:PATH="$libDir" \ diff --git a/media-libs/libebur128/patches/libebur128-1.2.6.patchset b/media-libs/libebur128/patches/libebur128-1.2.6.patchset new file mode 100644 index 000000000..459bbe3b9 --- /dev/null +++ b/media-libs/libebur128/patches/libebur128-1.2.6.patchset @@ -0,0 +1,52 @@ +From 3af05b54eef05bee545c3400c007ff4a7e087579 Mon Sep 17 00:00:00 2001 +From: Jerome Duval +Date: Fri, 25 Feb 2022 10:04:30 +0100 +Subject: gcc2 build fix + + +diff --git a/ebur128/ebur128.c b/ebur128/ebur128.c +index 6550e89..d721c28 100644 +--- a/ebur128/ebur128.c ++++ b/ebur128/ebur128.c +@@ -895,6 +895,8 @@ exit: + int ebur128_set_max_window(ebur128_state* st, unsigned long window) { + int errcode = EBUR128_SUCCESS; + size_t j; ++ size_t new_audio_data_frames; ++ size_t new_audio_data_size; + + if ((st->mode & EBUR128_MODE_S) == EBUR128_MODE_S && window < 3000) { + window = 3000; +@@ -906,7 +908,6 @@ int ebur128_set_max_window(ebur128_state* st, unsigned long window) { + return EBUR128_ERROR_NO_CHANGE; + } + +- size_t new_audio_data_frames; + if (safe_size_mul(st->samplerate, window, &new_audio_data_frames) != 0 || + new_audio_data_frames > ((size_t) -1) - st->d->samples_in_100ms) { + return EBUR128_ERROR_NOMEM; +@@ -917,12 +918,12 @@ int ebur128_set_max_window(ebur128_state* st, unsigned long window) { + (new_audio_data_frames % st->d->samples_in_100ms); + } + +- size_t new_audio_data_size; + if (safe_size_mul(new_audio_data_frames, st->channels * sizeof(double), + &new_audio_data_size) != 0) { + return EBUR128_ERROR_NOMEM; + } + ++{ + double* new_audio_data = (double*) malloc(new_audio_data_size); + CHECK_ERROR(!new_audio_data, EBUR128_ERROR_NOMEM, exit) + +@@ -944,6 +945,7 @@ int ebur128_set_max_window(ebur128_state* st, unsigned long window) { + exit: + return errcode; + } ++} + + int ebur128_set_max_history(ebur128_state* st, unsigned long history) { + if ((st->mode & EBUR128_MODE_LRA) == EBUR128_MODE_LRA && history < 3000) { +-- +2.30.2 +