Summary: | audio/opus: Update to 1.5.1 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | Ports & Packages | Reporter: | Daniel Engberg <diizzy> | ||||||||
Component: | Individual Port(s) | Assignee: | Christian Weisgerber <naddy> | ||||||||
Status: | Closed FIXED | ||||||||||
Severity: | Affects Only Me | CC: | fuz | ||||||||
Priority: | --- | Flags: | bugzilla:
maintainer-feedback?
(naddy) |
||||||||
Version: | Latest | ||||||||||
Hardware: | Any | ||||||||||
OS: | Any | ||||||||||
URL: | https://gitlab.xiph.org/xiph/opus/-/tags/v1.5.1 | ||||||||||
Attachments: |
|
Description
Daniel Engberg
2024-03-06 19:51:19 UTC
Created attachment 248985 [details]
Patch for opus v2
Remove unnecessary NEON option
Created attachment 249040 [details]
Patch for opus v3
USES=python:env --> USES=python:build
While meson itself pulls in Python it wont necessarily be the case in the future so do the correct thing and define it as a build dep as python scripts are being called during build.
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=ff3ca68472c8562c0008b68c9244b523c7543619 commit ff3ca68472c8562c0008b68c9244b523c7543619 Author: Christian Weisgerber <naddy@FreeBSD.org> AuthorDate: 2024-03-10 16:10:50 +0000 Commit: Christian Weisgerber <naddy@FreeBSD.org> CommitDate: 2024-03-10 16:18:34 +0000 audio/opus: update to 1.5.1 This update enables the new machine learning features: https://opus-codec.org/demo/opus-1.5/ Runtime detection patches for ARMv6, ARMv7 and Aarch64 by fuz@ PR: 277537 audio/opus/Makefile | 5 ++- audio/opus/distinfo | 6 +-- audio/opus/files/patch-celt_arm_armcpu.c (new) | 57 ++++++++++++++++++++++++++ audio/opus/files/patch-configure (gone) | 11 ----- audio/opus/pkg-plist | 2 +- 5 files changed, 65 insertions(+), 16 deletions(-) I've submitted the patch upsteam. Thanks for the commit, @naddy! Is there a reason why we can't move to Meson like other distros such as Gentoo, Arch, Alpine which also benefits us? Commit is incorrect? github.com no longer hosts a release archive patch-dnn_vec__neon.h is missing Should we really have WIP code enabled by default? https://gitlab.xiph.org/xiph/opus/-/tree/v1.5.1/dnn Fast float approximations only works on some platforms, should be disabled for consistency between archs? Current version fails on armv7 in tree, fuz@ just verified. (In reply to Daniel Engberg from comment #6) > Is there a reason why we can't move to Meson like other distros such as Gentoo, > Arch, Alpine which also benefits us? I'm comfortable with an autotools-based build. I also use it for the OpenBSD port. > github.com no longer hosts a release archive I'll ask upstream if that is intentional or an accidental omission. > patch-dnn_vec__neon.h is missing What is that supposed to do? -#if defined(__arm__) && !defined(__aarch64__) +#if __ARM_ARCH < 8 Since aarch64 is ARMv8, those look perfectly equivalent. > Should we really have WIP code enabled by default? Now that is an interesting question. As the release article https://opus-codec.org/demo/opus-1.5/ points out, those features need to be explicitly enabled at runtime, so having them doesn't hurt overall. > Fast float approximations only works on some platforms, should be disabled for > consistency between archs? I trust upstream on this. (In reply to Daniel Engberg from comment #7) If somebody lets me know the details, I'm sure a fix can be found. (In reply to Christian Weisgerber from comment #8) Hi Christian, The patch patch-dnn_vec__neon.h is required to build the port on armv7 FreeBSD 15. That's why I added it. > -#if defined(__arm__) && !defined(__aarch64__) > +#if __ARM_ARCH < 8 > Since aarch64 is ARMv8, those look perfectly equivalent. They are not. AArch64 is one operation mode of the ARMv8 architecture. ARMv8 additionally provides extensions to the AArch32 execution state, which can be used when an ARMv8 capable CPU runs armv7 FreeBSD. Clang supports these extensions and consequently defines the intrinsics this header tries to emulate, even in armv7 mode, if appropriate compiler flags are defined (which is the case here; the code is however only used if ARMv8 support is detected at runtime). Therefore, the check had to be adapted to check for architecture revision instead of operation mode. Please check in the patch. As you only committed one of the two patches needed to fix the build, the port is still broken. A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=a1c197fb10cb282953644a53f46288358fe99a47 commit a1c197fb10cb282953644a53f46288358fe99a47 Author: Christian Weisgerber <naddy@FreeBSD.org> AuthorDate: 2024-03-12 15:48:02 +0000 Commit: Christian Weisgerber <naddy@FreeBSD.org> CommitDate: 2024-03-12 15:54:39 +0000 audio/opus: fix build on arm * fix the build on 32-bit arm[1] * GitHub does not have a release tarball for this release[2] PR: 277537 Obtained from: fuz [1] Reported by: diizzy [2] audio/opus/Makefile | 3 +-- audio/opus/files/patch-dnn_vec__neon.h (new) | 11 +++++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) |