From e4b29362a6e9f07d670c459864f5d791504dfa5f Mon Sep 17 00:00:00 2001 From: Yingjie Wang Date: Mon, 12 Jan 2026 02:36:50 -0500 Subject: [PATCH] new blfs: media-libs/libvorbis-1.3.7 --- media-libs/libvorbis-1.3.7.PKGBUILD | 73 +++++++++++++++++++ ...orbis-1.3.7-macro-wstrict-prototypes.patch | 20 +++++ .../libvorbis-1.3.7-mismatched-free.patch | 29 ++++++++ .../libvorbis-1.3.7-psy-bounds.patch | 35 +++++++++ .../libvorbis-1.3.7-ubsan-shift.patch | 27 +++++++ 5 files changed, 184 insertions(+) create mode 100644 media-libs/libvorbis-1.3.7.PKGBUILD create mode 100644 media-libs/libvorbis-1.3.7/libvorbis-1.3.7-macro-wstrict-prototypes.patch create mode 100644 media-libs/libvorbis-1.3.7/libvorbis-1.3.7-mismatched-free.patch create mode 100644 media-libs/libvorbis-1.3.7/libvorbis-1.3.7-psy-bounds.patch create mode 100644 media-libs/libvorbis-1.3.7/libvorbis-1.3.7-ubsan-shift.patch diff --git a/media-libs/libvorbis-1.3.7.PKGBUILD b/media-libs/libvorbis-1.3.7.PKGBUILD new file mode 100644 index 0000000..9ccd226 --- /dev/null +++ b/media-libs/libvorbis-1.3.7.PKGBUILD @@ -0,0 +1,73 @@ +pkgname=libvorbis +pkgver=1.3.7 +pkgdesc='Reference implementation of the Ogg Vorbis audio format' +arch=(x86_64) +homepage=https://www.xiph.org/vorbis/ +license=(BSD-3-Clause) +depends=( + glibc + libogg +) +_patches=("libvorbis-1.3.7-macro-wstrict-prototypes.patch" + "libvorbis-1.3.7-mismatched-free.patch" + "libvorbis-1.3.7-psy-bounds.patch" + "libvorbis-1.3.7-ubsan-shift.patch" +) +_patch_sums=("a13d1c323b811ba62b96f10232d1332e3ef5d90e7f4e02ff28de74a264c00bc660475c712fd3f90e1234d60fe13bcf3879442b5bac26cde8ff31bc09854c1ff7" + "ddf29b10a081ce13f3e430565437cc96b306c8d2231fa3996e27657e992ad302768044847beeb39d13a207b35d82abf8fb1fa13e38371fda8ded927c536e9920" + "6238266c296c647df282c2767b09512a572e8e0a1a2bb001aeaea66617f742f867b91c930b202345e0a27c294f0b06fc345d2d360ef2bec7a12907414c264a03" + "b008d3cf8509ea8fbb0a2bed306da6310ff58561c98d33633ccba28628e40f371b8e2e73f59ec6736af1ef5f4480e58157f8b6a8d303b86ff3f2b4dd67ca43c2" +) +sources=("${pkgname}-${pkgver}.tar.xz" + ${_patches[@]} +) +urls=("https://downloads.xiph.org/releases/vorbis/${sources[0]}" + ${_patches[@]} +) +sha512sums=("bbf5f11f623d959b3ba98d6b52806521b0b918b59b867f0658c153ea1013293364eead4987e9e71f8798021379310860a2e548fcf89d10caf23d45e41aba45cd" + ${_patch_sums[@]} +) + +src_prepare() { + tar -xf ${distdir}/${sources[0]} --strip-components=1 + + for _patch in ${_patches[@]}; do + patch -p1 -i ${filedir}/${_patch} + done + + sed -i \ + -e '/CFLAGS/s:-O20::' \ + -e '/CFLAGS/s:-mcpu=750::' \ + -e '/CFLAGS/s:-mno-ieee-fp::' \ + configure.ac + + find -name 'Makefile.am' \ + -exec sed -i \ + -e 's:$(datadir)/doc/$(PACKAGE)-$(VERSION):@docdir@/html:' \ + {} + + + autoreconf -fi +} + +src_build() { + local config_args=( + --prefix=/usr + --docdir=/usr/share/doc/${pkgname}-${pkgver} + --enable-shared + --disable-static + --enable-oggtest + ) + ./configure "${config_args[@]}" + make +} + +src_check() { + make -j1 check +} + +src_install() { + make DESTDIR="${pkgdir}" install + install -Dm 644 COPYING -t "${pkgdir}/usr/share/licenses/${pkgname}" +} + +# vim:ft=sh syn=sh et sw=2: diff --git a/media-libs/libvorbis-1.3.7/libvorbis-1.3.7-macro-wstrict-prototypes.patch b/media-libs/libvorbis-1.3.7/libvorbis-1.3.7-macro-wstrict-prototypes.patch new file mode 100644 index 0000000..24e163d --- /dev/null +++ b/media-libs/libvorbis-1.3.7/libvorbis-1.3.7-macro-wstrict-prototypes.patch @@ -0,0 +1,20 @@ +https://gitlab.xiph.org/xiph/vorbis/-/merge_requests/25 + +From 63132c52ee4694171f663ecf536ab1236b6c46ba Mon Sep 17 00:00:00 2001 +From: Sam James +Date: Wed, 23 Nov 2022 03:27:44 +0000 +Subject: [PATCH] vorbis.m4: fix -Wstrict-prototypes + +Signed-off-by: Sam James +--- a/vorbis.m4 ++++ b/vorbis.m4 +@@ -67,7 +67,7 @@ dnl + #include + #include + +-int main () ++int main (void) + { + vorbis_block vb; + vorbis_dsp_state vd; +GitLab diff --git a/media-libs/libvorbis-1.3.7/libvorbis-1.3.7-mismatched-free.patch b/media-libs/libvorbis-1.3.7/libvorbis-1.3.7-mismatched-free.patch new file mode 100644 index 0000000..e15c8fa --- /dev/null +++ b/media-libs/libvorbis-1.3.7/libvorbis-1.3.7-mismatched-free.patch @@ -0,0 +1,29 @@ +https://gitlab.xiph.org/xiph/vorbis/-/commit/4e1155cc77a2c672f3dd18f9a32dbf1404693289 + +From 4e1155cc77a2c672f3dd18f9a32dbf1404693289 Mon Sep 17 00:00:00 2001 +From: Robert Kausch +Date: Sat, 20 Feb 2021 16:22:02 +0100 +Subject: [PATCH] Fix tests run with make check when using alternative + allocators. + +The call to free in line 584 of sharedbook.c mismatches +the _ogg_calloc call used to allocated that data in line 216. + +This causes make check to fail when alternative allocators +are used, e.g. the xmm_malloc family of allocators used with +the Lancer optimizations. + +Signed-off-by: Ralph Giles +--- a/lib/sharedbook.c ++++ b/lib/sharedbook.c +@@ -581,7 +581,7 @@ void run_test(static_codebook *b,float *comp){ + exit(1); + } + } +- free(out); ++ _ogg_free(out); + } + + int main(){ +-- +GitLab diff --git a/media-libs/libvorbis-1.3.7/libvorbis-1.3.7-psy-bounds.patch b/media-libs/libvorbis-1.3.7/libvorbis-1.3.7-psy-bounds.patch new file mode 100644 index 0000000..1331c7c --- /dev/null +++ b/media-libs/libvorbis-1.3.7/libvorbis-1.3.7-psy-bounds.patch @@ -0,0 +1,35 @@ +https://gitlab.xiph.org/xiph/vorbis/-/commit/315da9cc9d30484c802b2e2ea150df39e060e2b9 + +From 315da9cc9d30484c802b2e2ea150df39e060e2b9 Mon Sep 17 00:00:00 2001 +From: "Timothy B. Terriberry" +Date: Wed, 5 Feb 2025 08:11:19 -0800 +Subject: [PATCH] Fix the half-octave bounds check in _vp_psy_init + +The existing code ensured that halfoc would not exceed P_BANDS-1, + but the interpolation used index P_BANDS (albeit with a weight + of 0) when this bound was actually hit. +Add an extra clamp on the integer index to avoid this. +Thanks to Paul Adenot for the report. + +Fixes #2353 +--- + lib/psy.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/lib/psy.c b/lib/psy.c +index 036b094a..96213c42 100644 +--- a/lib/psy.c ++++ b/lib/psy.c +@@ -339,6 +339,10 @@ void _vp_psy_init(vorbis_look_psy *p,vorbis_info_psy *vi, + if(halfoc<0)halfoc=0; + if(halfoc>=P_BANDS-1)halfoc=P_BANDS-1; + inthalfoc=(int)halfoc; ++ /*If we hit the P_BANDS-1 clamp above, inthalfoc+1 will be out of bounds, ++ even though it will have an interpolation weight of 0. ++ Shift the interval so we don't read past the end of the array.*/ ++ if(inthalfoc>=P_BANDS-2)inthalfoc=P_BANDS-2; + del=halfoc-inthalfoc; + + for(j=0;j +Date: Fri, 14 Jun 2024 11:39:26 -0400 +Subject: [PATCH] sharedbook: cast to unsigned to avoid undefined shift + +Fixes #2351 +--- + lib/sharedbook.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/sharedbook.c b/lib/sharedbook.c +index 444f42b5..7a98b479 100644 +--- a/lib/sharedbook.c ++++ b/lib/sharedbook.c +@@ -422,7 +422,7 @@ int vorbis_book_init_decode(codebook *c,const static_codebook *s){ + long lo=0,hi=0; + + for(i=0;idec_firsttablen); ++ ogg_uint32_t word=((ogg_uint32_t)i<<(32-c->dec_firsttablen)); + if(c->dec_firsttable[bitreverse(word)]==0){ + while((lo+1)codelist[lo+1]<=word)lo++; + while( hi=(c->codelist[hi]&mask))hi++; +-- +GitLab