Download raw body.
UPDATE: aom 3.8.1
This fails to build for me on arm64:
===> Configuring for aom-3.8.1
-- The C compiler identification is Clang 16.0.6
-- The CXX compiler identification is Clang 16.0.6
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/obj/ports/aom-3.8.1/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/obj/ports/aom-3.8.1/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
--- aom_configure: Detected CPU: arm64
-- The ASM compiler identification is unknown
-- Found assembler: as
CMake Error at build/cmake/aom_configure.cmake:212 (enable_language):
The CMAKE_ASM_COMPILER:
as
is not a full path and was not found in the PATH.
Tell CMake where to find the compiler by setting either the environment
variable "ASM" or the CMake cache entry CMAKE_ASM_COMPILER to the full path
to the compiler, or to the compiler name if it is in the PATH.
Call Stack (most recent call first):
CMakeLists.txt:73 (include)
-- Warning: Did not find file Compiler/-ASM
-- Configuring incomplete, errors occurred!
note that there is no "as" or "llvm-as" binary on arm64.
On 2024 Feb 28 (Wed) at 16:40:02 +0000 (+0000), Stuart Henderson wrote:
:On 2024/02/28 17:28, Jan Beich wrote:
:> Brad Smith <brad@comstyle.com> writes:
:>
:> > GH_ACCOUNT= jbeich
:> > GH_PROJECT= aom
:> > -GH_TAGNAME= v3.6.1
:> > +GH_TAGNAME= v3.8.1
:>
:> If you don't use snapshots or RCs better migrate off my GitHub mirror.
:> According to Repology the download link would be
:>
:> https://storage.googleapis.com/aom-releases/libaom-3.8.1.tar.gz
:>
:
:Updated for that. No difference in the contents of the tars after
:extracting.
:
:Index: Makefile
:===================================================================
:RCS file: /cvs/ports/multimedia/aom/Makefile,v
:retrieving revision 1.20
:diff -u -p -r1.20 Makefile
:--- Makefile 29 May 2023 17:52:01 -0000 1.20
:+++ Makefile 28 Feb 2024 16:39:18 -0000
:@@ -1,13 +1,14 @@
: COMMENT= Alliance for Open Media AV1 video codec
:
:-GH_ACCOUNT= jbeich
:-GH_PROJECT= aom
:-GH_TAGNAME= v3.6.1
:+V= 3.8.1
:+DISTNAME= libaom-$V
:+PKGNAME= aom-$V
: CATEGORIES= multimedia
:
:-SHARED_LIBS= aom 4.0
:+SHARED_LIBS= aom 4.1
:
: HOMEPAGE= https://aomedia.org/
:+SITES= https://storage.googleapis.com/aom-releases/
:
: MAINTAINER= Brad Smith <brad@comstyle.com>
:
:Index: distinfo
:===================================================================
:RCS file: /cvs/ports/multimedia/aom/distinfo,v
:retrieving revision 1.17
:diff -u -p -r1.17 distinfo
:--- distinfo 29 May 2023 17:52:01 -0000 1.17
:+++ distinfo 28 Feb 2024 16:39:18 -0000
:@@ -1,2 +1,2 @@
:-SHA256 (aom-3.6.1.tar.gz) = Z5xBtBpQucWo+qG6kZ4MI5quf+hXUl4iP/IMVpl/EZ8=
:-SIZE (aom-3.6.1.tar.gz) = 5269397
:+SHA256 (libaom-3.8.1.tar.gz) = 3txlBggSp9+AHAJwov6L13PGuwtgHyFE7PvGLcD2cco=
:+SIZE (libaom-3.8.1.tar.gz) = 5450909
:Index: patches/patch-CMakeLists_txt
:===================================================================
:RCS file: /cvs/ports/multimedia/aom/patches/patch-CMakeLists_txt,v
:retrieving revision 1.5
:diff -u -p -r1.5 patch-CMakeLists_txt
:--- patches/patch-CMakeLists_txt 9 Apr 2023 06:17:17 -0000 1.5
:+++ patches/patch-CMakeLists_txt 28 Feb 2024 16:39:18 -0000
:@@ -1,12 +1,13 @@
: Index: CMakeLists.txt
: --- CMakeLists.txt.orig
: +++ CMakeLists.txt
:-@@ -824,7 +824,7 @@ if(ENABLE_EXAMPLES AND "${CMAKE_GENERATOR}" MATCHES "M
:- endif()
:-
:- if(BUILD_SHARED_LIBS)
:-- if(NOT WIN32 AND NOT APPLE)
:-+ if(NOT WIN32 AND NOT APPLE AND NOT CMAKE_SYSTEM_NAME MATCHES "OpenBSD")
:+@@ -828,7 +828,8 @@ if(BUILD_SHARED_LIBS)
:+ # https://clang.llvm.org/docs/AddressSanitizer.html#usage.
:+ if(NOT WIN32
:+ AND NOT APPLE
:+- AND NOT (CMAKE_C_COMPILER_ID MATCHES "Clang" AND SANITIZE))
:++ AND NOT (CMAKE_C_COMPILER_ID MATCHES "Clang" AND SANITIZE)
:++ AND NOT CMAKE_SYSTEM_NAME MATCHES "OpenBSD")
: # The -z defs linker option reports unresolved symbol references from object
: # files when building a shared library.
: if("${CMAKE_VERSION}" VERSION_LESS "3.13")
:Index: patches/patch-aom_ports_aarch32_cpudetect_c
:===================================================================
:RCS file: patches/patch-aom_ports_aarch32_cpudetect_c
:diff -N patches/patch-aom_ports_aarch32_cpudetect_c
:--- /dev/null 1 Jan 1970 00:00:00 -0000
:+++ patches/patch-aom_ports_aarch32_cpudetect_c 28 Feb 2024 16:39:18 -0000
:@@ -0,0 +1,23 @@
:+Allow ARM CPU runtime detection code to build on OpenBSD.
:+
:+Index: aom_ports/aarch32_cpudetect.c
:+--- aom_ports/aarch32_cpudetect.c.orig
:++++ aom_ports/aarch32_cpudetect.c
:+@@ -12,7 +12,7 @@
:+
:+ #include "arm_cpudetect.h"
:+
:+-#if !CONFIG_RUNTIME_CPU_DETECT
:++#if !CONFIG_RUNTIME_CPU_DETECT || defined(__OpenBSD__)
:+
:+ static int arm_get_cpu_caps(void) {
:+ // This function should actually be a no-op. There is no way to adjust any of
:+@@ -25,7 +25,7 @@ static int arm_get_cpu_caps(void) {
:+ return flags;
:+ }
:+
:+-#elif defined(_MSC_VER) // end !CONFIG_RUNTIME_CPU_DETECT
:++#elif defined(_MSC_VER) // end !CONFIG_RUNTIME_CPU_DETECT || __OpenBSD__
:+
:+ static int arm_get_cpu_caps(void) {
:+ int flags = 0;
:Index: patches/patch-aom_ports_aarch64_cpudetect_c
:===================================================================
:RCS file: patches/patch-aom_ports_aarch64_cpudetect_c
:diff -N patches/patch-aom_ports_aarch64_cpudetect_c
:--- /dev/null 1 Jan 1970 00:00:00 -0000
:+++ patches/patch-aom_ports_aarch64_cpudetect_c 28 Feb 2024 16:39:18 -0000
:@@ -0,0 +1,23 @@
:+Allow ARM CPU runtime detection code to build on OpenBSD.
:+
:+Index: aom_ports/aarch64_cpudetect.c
:+--- aom_ports/aarch64_cpudetect.c.orig
:++++ aom_ports/aarch64_cpudetect.c
:+@@ -15,7 +15,7 @@
:+ #include <sys/sysctl.h>
:+ #endif
:+
:+-#if !CONFIG_RUNTIME_CPU_DETECT
:++#if !CONFIG_RUNTIME_CPU_DETECT || defined(__OpenBSD__)
:+
:+ static int arm_get_cpu_caps(void) {
:+ // This function should actually be a no-op. There is no way to adjust any of
:+@@ -28,7 +28,7 @@ static int arm_get_cpu_caps(void) {
:+ return flags;
:+ }
:+
:+-#elif defined(__APPLE__) // end !CONFIG_RUNTIME_CPU_DETECT
:++#elif defined(__APPLE__) // end !CONFIG_RUNTIME_CPU_DETECT || __OpenBSD__
:+
:+ // sysctlbyname() parameter documentation for instruction set characteristics:
:+ // https://developer.apple.com/documentation/kernel/1387446-sysctlbyname/determining_instruction_set_characteristics
:Index: patches/patch-aom_ports_arm_cpudetect_c
:===================================================================
:RCS file: patches/patch-aom_ports_arm_cpudetect_c
:diff -N patches/patch-aom_ports_arm_cpudetect_c
:--- patches/patch-aom_ports_arm_cpudetect_c 29 May 2023 17:52:01 -0000 1.6
:+++ /dev/null 1 Jan 1970 00:00:00 -0000
:@@ -1,23 +0,0 @@
:-Allow ARM CPU runtime detection code to build on OpenBSD.
:-
:-Index: aom_ports/arm_cpudetect.c
:---- aom_ports/arm_cpudetect.c.orig
:-+++ aom_ports/arm_cpudetect.c
:-@@ -38,7 +38,7 @@ static int arm_cpu_env_mask(void) {
:- return env && *env ? (int)strtol(env, NULL, 0) : ~0;
:- }
:-
:--#if !CONFIG_RUNTIME_CPU_DETECT || defined(__APPLE__)
:-+#if !CONFIG_RUNTIME_CPU_DETECT || defined(__APPLE__) || defined(__OpenBSD__)
:-
:- int aom_arm_cpu_caps(void) {
:- /* This function should actually be a no-op. There is no way to adjust any of
:-@@ -56,7 +56,7 @@ int aom_arm_cpu_caps(void) {
:- return flags & mask;
:- }
:-
:--#elif defined(_MSC_VER) /* end !CONFIG_RUNTIME_CPU_DETECT || __APPLE__ */
:-+#elif defined(_MSC_VER) /* end !CONFIG_RUNTIME_CPU_DETECT || __APPLE__ || __OpenBSD__ */
:- /*For GetExceptionCode() and EXCEPTION_ILLEGAL_INSTRUCTION.*/
:- #undef WIN32_LEAN_AND_MEAN
:- #define WIN32_LEAN_AND_MEAN
:Index: patches/patch-build_cmake_aom_configure_cmake
:===================================================================
:RCS file: patches/patch-build_cmake_aom_configure_cmake
:diff -N patches/patch-build_cmake_aom_configure_cmake
:--- patches/patch-build_cmake_aom_configure_cmake 9 Apr 2023 06:17:17 -0000 1.10
:+++ /dev/null 1 Jan 1970 00:00:00 -0000
:@@ -1,22 +0,0 @@
:-ARM uses compiler intrinsics, so don't require GNU as.
:-
:-Index: build/cmake/aom_configure.cmake
:---- build/cmake/aom_configure.cmake.orig
:-+++ build/cmake/aom_configure.cmake
:-@@ -188,16 +188,6 @@ elseif(AOM_TARGET_CPU MATCHES "arm")
:- endif()
:- endif()
:- find_program(as_executable_found ${AS_EXECUTABLE})
:-- if(NOT as_executable_found)
:-- message(
:-- FATAL_ERROR
:-- "Unable to find assembler and optimizations are enabled."
:-- "Searched for ${AS_EXECUTABLE}. Install it, add it to your path, or "
:-- "set the assembler directly by adding -DAS_EXECUTABLE=<assembler path> "
:-- "to your CMake command line."
:-- "To build without optimizations, add -DAOM_TARGET_CPU=generic to your "
:-- "cmake command line.")
:-- endif()
:- string(STRIP "${AOM_AS_FLAGS}" AOM_AS_FLAGS)
:- endif()
:-
:Index: patches/patch-third_party_x86inc_x86inc_asm
:===================================================================
:RCS file: patches/patch-third_party_x86inc_x86inc_asm
:diff -N patches/patch-third_party_x86inc_x86inc_asm
:--- /dev/null 1 Jan 1970 00:00:00 -0000
:+++ patches/patch-third_party_x86inc_x86inc_asm 28 Feb 2024 16:39:18 -0000
:@@ -0,0 +1,28 @@
:+Index: third_party/x86inc/x86inc.asm
:+--- third_party/x86inc/x86inc.asm.orig
:++++ third_party/x86inc/x86inc.asm
:+@@ -52,6 +52,16 @@
:+ %endif
:+ %endif
:+
:++%if AOM_ARCH_X86_64
:++%imacro _endbr64 0
:++ dd 0xfa1e0ff3
:++%endmacro
:++%else
:++%imacro _endbr64 0
:++; empty
:++%endmacro
:++%endif
:++
:+ %define WIN64 0
:+ %define UNIX64 0
:+ %if AOM_ARCH_X86_64
:+@@ -860,6 +870,7 @@ BRANCH_INSTR jz, je, jnz, jne, jl, jle, jnl, jnle, jg,
:+ %endif
:+ align function_align
:+ %2:
:++ _endbr64
:+ RESET_MM_PERMUTATION ; needed for x86-64, also makes disassembly somewhat nicer
:+ %xdefine rstk rsp ; copy of the original stack pointer, used when greater alignment than the known stack alignment is required
:+ %assign stack_offset 0 ; stack pointer offset relative to the return address
:
--
"Every time I think I know where it's at, they move it."
UPDATE: aom 3.8.1