multimedia/ffmpeg4: sync cross-build and powerpc changes from ffmpeg5diff -r1.83 -r1.84 pkgsrc/multimedia/ffmpeg4/Makefile
(riastradh)
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.83 2024/01/22 13:17:01 ryoon Exp $
+# $NetBSD: Makefile,v 1.84 2024/01/27 02:52:49 riastradh Exp $
PKGNAME= ${DISTNAME:S/ffmpeg/ffmpeg4/}
PKGREVISION= 7
@@ -17,13 +17,6 @@
.if ${_USE_RPATH:tl} != "no"
CONFIGURE_ARGS+= --enable-rpath
-.endif
-
-.if !empty(USE_CROSS_COMPILE:M[yY][eE][sS])
-CONFIGURE_ARGS+= --enable-cross-compile
-CONFIGURE_ARGS+= --host-cc=${NATIVE_CC:Q}
-CONFIGURE_ARGS+= --host-ld=${NATIVE_CC:Q}
-CONFIGURE_ARGS+= --target-os=${LOWER_OPSYS}
.endif
PRINT_PLIST_AWK+= /html/ { $$0 = "$${PLIST.doc}" $$0 }
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile.common,v 1.32 2023/06/06 12:41:59 riastradh Exp $
+# $NetBSD: Makefile.common,v 1.33 2024/01/27 02:52:49 riastradh Exp $
# used by multimedia/ffmpeg4/Makefile
# used by multimedia/ffplay4/Makefile
@@ -34,6 +34,21 @@
LDFLAGS+= ${COMPILER_RPATH_FLAG}${PREFIX}/lib/ffmpeg4
# Misuse LDFLAGS because the package doesn't (at least right now) honor LIBS.
LDFLAGS.SunOS+= -lrt
+
+.if ${USE_CROSS_COMPILE:tl} == yes
+CONFIGURE_ARGS+= --enable-cross-compile
+CONFIGURE_ARGS+= --host-cc=${NATIVE_CC:Q}
+CONFIGURE_ARGS+= --host-ld=${NATIVE_CC:Q}
+CONFIGURE_ARGS+= --target-os=${LOWER_OPSYS:Q}
+. include "../../mk/endian.mk"
+. if ${MACHINE_ENDIAN} == "big"
+CONFIGURE_ENV+= bigendian=yes
+. endif
+. if !empty(MACHINE_ARCH:Mpowerpc*)
+BUILDLINK_TRANSFORM+= rm:-maltivec
+BUILDLINK_TRANSFORM+= rm:-mabi=altivec
+. endif
+.endif
.if !empty(MACHINE_PLATFORM:MDarwin-1[2-9].*-*) || !empty(MACHINE_PLATFORM:MDarwin-2*)
CONFIGURE_ARGS+= --enable-opencl
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.31 2023/08/17 08:56:10 jperkin Exp $
+$NetBSD: distinfo,v 1.32 2024/01/27 02:52:49 riastradh Exp $
BLAKE2s (ffmpeg-4.4.4.tar.xz) = b344e5e3ba0cb4c13bfd7a3989aa1f6b8f7443af9ce6c24993ca8627ac5b2a2d
SHA512 (ffmpeg-4.4.4.tar.xz) = 253799eccd129dad331db85def5352178ae22303e42af47fc013a6adfd4b60d1e59ff5f9ac6118fe3b403affa56ea1f3ba658042f526a914fba27050c3065daf
@@ -18,5 +18,6 @@
SHA1 (patch-libavdevice_sunau__dec.c) = d2fc01e941c68ab8b6f5e0b98ee536a32cc56bdc
SHA1 (patch-libavdevice_sunau__enc.c) = efe765b99ad6379d0237c619ac0dce41306431be
SHA1 (patch-libavutil_common.h) = d0f1093bc82567807b39dde990ee347f90a082c9
+SHA1 (patch-libavutil_ppc_cpu.c) = be6ece342b061c3ef9b1836bf55ec4f2e0cdc81b
SHA1 (patch-libavutil_x86_asm.h) = 8f48f9e8ec08b5176bb40fc0021f3bb913dbef22
SHA1 (patch-libavutil_x86_cpu.c) = 9c97e68fde0fcb19741e034a803d509040ea4487
$NetBSD: patch-libavutil_ppc_cpu.c,v 1.1 2024/01/27 02:52:50 riastradh Exp $
Handle machdep.altivec on NetBSD like on OpenBSD.
--- libavutil/ppc/cpu.c.orig 2022-05-14 21:21:50.000000000 +0000
+++ libavutil/ppc/cpu.c
@@ -27,7 +27,7 @@
#if HAVE_UNISTD_H
#include <unistd.h>
#endif
-#elif defined(__OpenBSD__)
+#elif defined(__NetBSD__) || defined(__OpenBSD__)
#include <sys/param.h>
#include <sys/sysctl.h>
#include <machine/cpu.h>
@@ -56,8 +56,8 @@ int ff_get_cpu_flags_ppc(void)
if (result == VECTORTYPE_ALTIVEC)
return AV_CPU_FLAG_ALTIVEC;
return 0;
-#elif defined(__APPLE__) || defined(__OpenBSD__)
-#ifdef __OpenBSD__
+#elif defined(__APPLE__) || defined(__NetBSD__) || defined(__OpenBSD__)
+#if defined(__NetBSD__) || defined(__OpenBSD__)
int sels[2] = {CTL_MACHDEP, CPU_ALTIVEC};
#else
int sels[2] = {CTL_HW, HW_VECTORUNIT};