Fri Jan 26 03:17:31 2024 UTC (142d)
multimedia/ffmpeg5: Move cross-build stuff to Makefile.common.

ffplay5 cross-build needs this too.


(riastradh)
diff -r1.29 -r1.30 pkgsrc/multimedia/ffmpeg5/Makefile
diff -r1.8 -r1.9 pkgsrc/multimedia/ffmpeg5/Makefile.common

cvs diff -r1.29 -r1.30 pkgsrc/multimedia/ffmpeg5/Makefile (switch to unified diff)

--- pkgsrc/multimedia/ffmpeg5/Makefile 2024/01/26 03:17:07 1.29
+++ pkgsrc/multimedia/ffmpeg5/Makefile 2024/01/26 03:17:31 1.30
@@ -1,52 +1,41 @@ @@ -1,52 +1,41 @@
1# $NetBSD: Makefile,v 1.29 2024/01/26 03:17:07 riastradh Exp $ 1# $NetBSD: Makefile,v 1.30 2024/01/26 03:17:31 riastradh Exp $
2 2
3PKGNAME= ${DISTNAME:S/ffmpeg/ffmpeg5/} 3PKGNAME= ${DISTNAME:S/ffmpeg/ffmpeg5/}
4PKGREVISION= 1 4PKGREVISION= 1
5MAINTAINER= pkgsrc-users@NetBSD.org 5MAINTAINER= pkgsrc-users@NetBSD.org
6HOMEPAGE= https://ffmpeg.org/ 6HOMEPAGE= https://ffmpeg.org/
7COMMENT= Decoding, encoding and streaming software (v5.x) 7COMMENT= Decoding, encoding and streaming software (v5.x)
8 8
9CONFIGURE_ARGS+= --enable-avfilter 9CONFIGURE_ARGS+= --enable-avfilter
10CONFIGURE_ARGS+= --enable-postproc 10CONFIGURE_ARGS+= --enable-postproc
11CONFIGURE_ARGS+= --disable-ffplay 11CONFIGURE_ARGS+= --disable-ffplay
12 12
13INSTALLATION_DIRS= lib/ffmpeg5 share/doc/ffmpeg5 13INSTALLATION_DIRS= lib/ffmpeg5 share/doc/ffmpeg5
14 14
15.include "../../mk/bsd.prefs.mk" 15.include "../../mk/bsd.prefs.mk"
16 16
17.if ${_USE_RPATH:tl} != "no" 17.if ${_USE_RPATH:tl} != "no"
18CONFIGURE_ARGS+= --enable-rpath 18CONFIGURE_ARGS+= --enable-rpath
19.endif 19.endif
20 20
21.if ${USE_CROSS_COMPILE:U:tl} == yes 
22CONFIGURE_ARGS+= --enable-cross-compile 
23CONFIGURE_ARGS+= --host-cc=${NATIVE_CC:Q} 
24CONFIGURE_ARGS+= --host-ld=${NATIVE_CC:Q} 
25CONFIGURE_ARGS+= --target-os=${LOWER_OPSYS} 
26. include "../../mk/endian.mk" 
27. if ${MACHINE_ENDIAN} == "big" 
28CONFIGURE_ENV+= bigendian=yes 
29. endif 
30.endif 
31 
32PRINT_PLIST_AWK+= /html/ { $$0 = "$${PLIST.doc}" $$0 } 21PRINT_PLIST_AWK+= /html/ { $$0 = "$${PLIST.doc}" $$0 }
33 22
34TEST_TARGET= check 23TEST_TARGET= check
35 24
36post-install: 25post-install:
37 ${INSTALL_DATA} ${WRKSRC}/doc/*.txt \ 26 ${INSTALL_DATA} ${WRKSRC}/doc/*.txt \
38 ${DESTDIR}${PREFIX}/share/doc/ffmpeg5 27 ${DESTDIR}${PREFIX}/share/doc/ffmpeg5
39 28
40.include "options.mk" 29.include "options.mk"
41 30
42# disable asm on i386 to avoid text relocations 31# disable asm on i386 to avoid text relocations
43.if ${MACHINE_ARCH} == "i386" 32.if ${MACHINE_ARCH} == "i386"
44CONFIGURE_ARGS+= --disable-asm 33CONFIGURE_ARGS+= --disable-asm
45.endif 34.endif
46 35
47# configure script uses uname -m to detect arch, as opposed to uname -p in 36# configure script uses uname -m to detect arch, as opposed to uname -p in
48# GNU/configure. Unable to detect NetBSD/macppc hosts correctly. 37# GNU/configure. Unable to detect NetBSD/macppc hosts correctly.
49CONFIGURE_ARGS+= --arch=${MACHINE_ARCH} 38CONFIGURE_ARGS+= --arch=${MACHINE_ARCH}
50 39
51.include "../../multimedia/ffmpeg5/Makefile.common" 40.include "../../multimedia/ffmpeg5/Makefile.common"
52.include "../../mk/bsd.pkg.mk" 41.include "../../mk/bsd.pkg.mk"

cvs diff -r1.8 -r1.9 pkgsrc/multimedia/ffmpeg5/Makefile.common (switch to unified diff)

--- pkgsrc/multimedia/ffmpeg5/Makefile.common 2023/11/13 15:40:34 1.8
+++ pkgsrc/multimedia/ffmpeg5/Makefile.common 2024/01/26 03:17:31 1.9
@@ -1,84 +1,95 @@ @@ -1,84 +1,95 @@
1# $NetBSD: Makefile.common,v 1.8 2023/11/13 15:40:34 wiz Exp $ 1# $NetBSD: Makefile.common,v 1.9 2024/01/26 03:17:31 riastradh Exp $
2# used by multimedia/ffmpeg5/Makefile 2# used by multimedia/ffmpeg5/Makefile
3# used by multimedia/ffplay5/Makefile 3# used by multimedia/ffplay5/Makefile
4 4
5DISTNAME= ffmpeg-5.1.4 5DISTNAME= ffmpeg-5.1.4
6CATEGORIES= multimedia 6CATEGORIES= multimedia
7MASTER_SITES= http://www.ffmpeg.org/releases/ 7MASTER_SITES= http://www.ffmpeg.org/releases/
8EXTRACT_SUFX= .tar.xz 8EXTRACT_SUFX= .tar.xz
9 9
10LICENSE= gnu-lgpl-v2.1 AND gnu-gpl-v2 ${ADDITIONAL_LICENSE} 10LICENSE= gnu-lgpl-v2.1 AND gnu-gpl-v2 ${ADDITIONAL_LICENSE}
11 11
12PATCHDIR= ${.CURDIR}/../../multimedia/ffmpeg5/patches 12PATCHDIR= ${.CURDIR}/../../multimedia/ffmpeg5/patches
13 13
14USE_LIBTOOL= yes 14USE_LIBTOOL= yes
15USE_TOOLS+= gmake pod2man perl pkg-config 15USE_TOOLS+= gmake pod2man perl pkg-config
16HAS_CONFIGURE= yes 16HAS_CONFIGURE= yes
17CONFIGURE_ARGS+= --cc=${CC:Q} 17CONFIGURE_ARGS+= --cc=${CC:Q}
18CONFIGURE_ARGS+= --disable-debug 18CONFIGURE_ARGS+= --disable-debug
19CONFIGURE_ARGS+= --disable-optimizations 19CONFIGURE_ARGS+= --disable-optimizations
20CONFIGURE_ARGS+= --disable-stripping 20CONFIGURE_ARGS+= --disable-stripping
21CONFIGURE_ARGS+= --enable-gpl 21CONFIGURE_ARGS+= --enable-gpl
22CONFIGURE_ARGS+= --enable-libxml2 22CONFIGURE_ARGS+= --enable-libxml2
23CONFIGURE_ARGS+= --enable-pthreads 23CONFIGURE_ARGS+= --enable-pthreads
24CONFIGURE_ARGS+= --enable-shared 24CONFIGURE_ARGS+= --enable-shared
25CONFIGURE_ARGS+= --mandir=${PREFIX}/${PKGMANDIR} 25CONFIGURE_ARGS+= --mandir=${PREFIX}/${PKGMANDIR}
26CONFIGURE_ARGS+= --prefix=${PREFIX} 26CONFIGURE_ARGS+= --prefix=${PREFIX}
27CONFIGURE_ARGS+= --progs-suffix=5 27CONFIGURE_ARGS+= --progs-suffix=5
28 28
29CONFIGURE_ARGS+= --enable-runtime-cpudetect 29CONFIGURE_ARGS+= --enable-runtime-cpudetect
30CONFIGURE_ARGS+= --datadir=${PREFIX}/share/ffmpeg5 30CONFIGURE_ARGS+= --datadir=${PREFIX}/share/ffmpeg5
31CONFIGURE_ARGS+= --docdir=${PREFIX}/share/doc/ffmpeg5 31CONFIGURE_ARGS+= --docdir=${PREFIX}/share/doc/ffmpeg5
32CONFIGURE_ARGS+= --incdir=${PREFIX}/include/ffmpeg5 32CONFIGURE_ARGS+= --incdir=${PREFIX}/include/ffmpeg5
33CONFIGURE_ARGS+= --libdir=${PREFIX}/lib/ffmpeg5 33CONFIGURE_ARGS+= --libdir=${PREFIX}/lib/ffmpeg5
34CONFIGURE_ARGS+= --shlibdir=${PREFIX}/lib/ffmpeg5 34CONFIGURE_ARGS+= --shlibdir=${PREFIX}/lib/ffmpeg5
35LDFLAGS+= ${COMPILER_RPATH_FLAG}${PREFIX}/lib/ffmpeg5 35LDFLAGS+= ${COMPILER_RPATH_FLAG}${PREFIX}/lib/ffmpeg5
36 36
 37.if ${USE_CROSS_COMPILE:U:tl} == yes
 38CONFIGURE_ARGS+= --enable-cross-compile
 39CONFIGURE_ARGS+= --host-cc=${NATIVE_CC:Q}
 40CONFIGURE_ARGS+= --host-ld=${NATIVE_CC:Q}
 41CONFIGURE_ARGS+= --target-os=${LOWER_OPSYS:Q}
 42. include "../../mk/endian.mk"
 43. if ${MACHINE_ENDIAN} == "big"
 44CONFIGURE_ENV+= bigendian=yes
 45. endif
 46.endif
 47
37.if !empty(MACHINE_PLATFORM:MDarwin-1[2-9].*-*) || !empty(MACHINE_PLATFORM:MDarwin-2*) 48.if !empty(MACHINE_PLATFORM:MDarwin-1[2-9].*-*) || !empty(MACHINE_PLATFORM:MDarwin-2*)
38CONFIGURE_ARGS+= --enable-opencl 49CONFIGURE_ARGS+= --enable-opencl
39.endif 50.endif
40 51
41.if ${OPSYS} == "SunOS" 52.if ${OPSYS} == "SunOS"
42USE_TOOLS+= bash:build 53USE_TOOLS+= bash:build
43CONFIG_SHELL= ${TOOLS_PATH.bash} 54CONFIG_SHELL= ${TOOLS_PATH.bash}
44.endif 55.endif
45 56
46# Let's not put garbage into /tmp 57# Let's not put garbage into /tmp
47CONFIGURE_ENV+= TMPDIR=${WRKSRC}/tmp 58CONFIGURE_ENV+= TMPDIR=${WRKSRC}/tmp
48 59
49.include "../../mk/compiler.mk" 60.include "../../mk/compiler.mk"
50 61
51.if !empty(PKGSRC_COMPILER:Msunpro) 62.if !empty(PKGSRC_COMPILER:Msunpro)
52SUBST_CLASSES+= sunwspro 63SUBST_CLASSES+= sunwspro
53SUBST_MESSAGE.sunwspro= Fixing compiler options for SunStudio C compiler. 64SUBST_MESSAGE.sunwspro= Fixing compiler options for SunStudio C compiler.
54SUBST_STAGE.sunwspro= post-configure 65SUBST_STAGE.sunwspro= post-configure
55SUBST_FILES.sunwspro= config.mak 66SUBST_FILES.sunwspro= config.mak
56SUBST_SED.sunwspro= -e "s/-O /-KPIC -DPIC /" 67SUBST_SED.sunwspro= -e "s/-O /-KPIC -DPIC /"
57SUBST_SED.sunwspro+= -e "s/-O3/-xO2/g" 68SUBST_SED.sunwspro+= -e "s/-O3/-xO2/g"
58SUBST_SED.sunwspro+= -e "s/-std=c99/-xc99=all/" 69SUBST_SED.sunwspro+= -e "s/-std=c99/-xc99=all/"
59SUBST_SED.sunwspro+= -e "s/-Wl,-rpath-link,/-L /g" 70SUBST_SED.sunwspro+= -e "s/-Wl,-rpath-link,/-L /g"
60.endif 71.endif
61 72
62.if ${MACHINE_ARCH} == x86_64 || ${MACHINE_ARCH} == i386 73.if ${MACHINE_ARCH} == x86_64 || ${MACHINE_ARCH} == i386
63TOOL_DEPENDS+= nasm>=2.13:../../devel/nasm 74TOOL_DEPENDS+= nasm>=2.13:../../devel/nasm
64.endif 75.endif
65 76
66REPLACE_PERL+= doc/texi2pod.pl 77REPLACE_PERL+= doc/texi2pod.pl
67REPLACE_SH+= configure 78REPLACE_SH+= configure
68REPLACE_SH+= ffbuild/pkgconfig_generate.sh 79REPLACE_SH+= ffbuild/pkgconfig_generate.sh
69REPLACE_SH+= ffbuild/version.sh 80REPLACE_SH+= ffbuild/version.sh
70 81
71PLIST_SRC+= ${PKGDIR}/PLIST 82PLIST_SRC+= ${PKGDIR}/PLIST
72 83
73MAKE_ENV+= EXTRA_LIBS=${LIBGETOPT:Q} 84MAKE_ENV+= EXTRA_LIBS=${LIBGETOPT:Q}
74 85
75pre-configure: 86pre-configure:
76 ${MKDIR} ${WRKSRC}/tmp 87 ${MKDIR} ${WRKSRC}/tmp
77 88
78.include "../../archivers/bzip2/buildlink3.mk" 89.include "../../archivers/bzip2/buildlink3.mk"
79.include "../../archivers/xz/buildlink3.mk" 90.include "../../archivers/xz/buildlink3.mk"
80.include "../../devel/libgetopt/buildlink3.mk" 91.include "../../devel/libgetopt/buildlink3.mk"
81.include "../../devel/zlib/buildlink3.mk" 92.include "../../devel/zlib/buildlink3.mk"
82.include "../../textproc/libxml2/buildlink3.mk" 93.include "../../textproc/libxml2/buildlink3.mk"
83.include "../../mk/atomic64.mk" 94.include "../../mk/atomic64.mk"
84.include "../../mk/pthread.buildlink3.mk" 95.include "../../mk/pthread.buildlink3.mk"