Marcel Telka
2024-01-05 27eae26b701d9a74dc124ca763c79ee1a1f5f216
commit | author | age
deb32d 1
2a9e94 2 # This file and its contents are supplied under the terms of the
AP 3 # Common Development and Distribution License ("CDDL"), version 1.0.
4 # You may only use this file in accordance with the terms of version
5 # 1.0 of the CDDL.
6 #
7 # A full copy of the text of the CDDL should have accompanied this
8 # source.  A copy of the CDDL is also available via the Internet at
9 # http://www.illumos.org/license/CDDL.
10 #
11
12 #
13 # Copyright 2015 Alexander Pyhalov
fc9d08 14 # Copyright 2023 Niklas Poslovski
2a9e94 15 #
fc9d08 16
27eae2 17 USE_PARALLEL_BUILD= yes
2a9e94 18 include ../../../make-rules/shared-macros.mk
AP 19
5d3370 20 COMPONENT_NAME=         ffmpeg
9f8d1f 21 COMPONENT_VERSION=      6.1.1
27eae2 22 COMPONENT_REVISION=    1
5d3370 23 COMPONENT_SUMMARY=      A very fast video and audio converter
AL 24 COMPONENT_SRC=          $(COMPONENT_NAME)-$(COMPONENT_VERSION)
fc9d08 25 COMPONENT_ARCHIVE=      $(COMPONENT_SRC).tar.xz
9f8d1f 26 COMPONENT_ARCHIVE_HASH= sha256:8684f4b00f94b85461884c3719382f1261f0d9eb3d59640a1f4ac0873616f968
deb32d 27 COMPONENT_ARCHIVE_URL= https://www.ffmpeg.org/releases/$(COMPONENT_ARCHIVE)
5d3370 28 COMPONENT_PROJECT_URL=  https://www.ffmpeg.org/
AL 29 COMPONENT_FMRI=         video/ffmpeg
7dfc05 30 COMPONENT_CLASSIFICATION=System/Multimedia Libraries
AW 31 COMPONENT_LICENSE=      LGPLv2.1+, GPLv2, MIT/X11/BSD-style
2a9e94 32
b8f83f 33 include $(WS_MAKE_RULES)/encumbered.mk
62c9a7 34 include $(WS_MAKE_RULES)/common.mk
2a9e94 35
AP 36 CFLAGS += -I/usr/X11/include
37 CFLAGS += $(CPP_LARGEFILES)
3bcb29 38
AP 39 CPPFLAGS += $($(COMPILER)_C99_ENABLE)
2a9e94 40
AP 41 CONFIGURE_OPTIONS = --prefix=$(CONFIGURE_PREFIX)
42 CONFIGURE_OPTIONS += --mandir=$(CONFIGURE_MANDIR)
43 CONFIGURE_OPTIONS += --bindir=$(CONFIGURE_BINDIR.$(BITS))
44 CONFIGURE_OPTIONS += --libdir=$(CONFIGURE_LIBDIR.$(BITS))
45 CONFIGURE_OPTIONS += --cc=$(CC)
46 CONFIGURE_OPTIONS += --enable-runtime-cpudetect 
47 CONFIGURE_OPTIONS += --enable-mmx --enable-sse --enable-ssse3
62c9a7 48 # force additional new CPU instruction enablement
TM 49 CONFIGURE_OPTIONS += --enable-avx
2a9e94 50 CONFIGURE_OPTIONS += --disable-debug
AP 51 CONFIGURE_OPTIONS += --enable-nonfree
52 CONFIGURE_OPTIONS += --enable-gpl
53 CONFIGURE_OPTIONS += --enable-postproc
54 CONFIGURE_OPTIONS += --enable-avfilter
55 CONFIGURE_OPTIONS += --enable-swscale
56 CONFIGURE_OPTIONS += --enable-libgsm
57 CONFIGURE_OPTIONS += --enable-libxvid
58 CONFIGURE_OPTIONS += --enable-libx264
aa32d9 59 CONFIGURE_OPTIONS += --enable-libx265
62c9a7 60 CONFIGURE_OPTIONS += --enable-libdav1d
27eae2 61 CONFIGURE_OPTIONS += --enable-libwebp
2a9e94 62 # Don't enable it, resulting binary is not 
AP 63 # redistributable
64 #CONFIGURE_OPTIONS += --enable-libfaac
65 CONFIGURE_OPTIONS += --enable-libtheora
66 CONFIGURE_OPTIONS += --enable-libmp3lame
67 CONFIGURE_OPTIONS += --enable-libvorbis
68 CONFIGURE_OPTIONS += --enable-libvpx
62c9a7 69 # x11grab has been replaced by the x11xcb options
TM 70 #CONFIGURE_OPTIONS += --enable-x11grab
71 CONFIGURE_OPTIONS += --enable-libxcb
2a9e94 72 CONFIGURE_OPTIONS += --enable-libspeex
AP 73 CONFIGURE_OPTIONS += --enable-pthreads
21fbb0 74 # Incompatible with GPLv2
2a9e94 75 #CONFIGURE_OPTIONS += --enable-libopencore-amrnb
AP 76 CONFIGURE_OPTIONS += --enable-libass
77 CONFIGURE_OPTIONS += --enable-openssl
78 CONFIGURE_OPTIONS += --enable-openal
62c9a7 79 # don't enable avresample any more, it's long-deprecated.  Use swresample
TM 80 # instead
81 #CONFIGURE_OPTIONS += --enable-avresample
82 CONFIGURE_OPTIONS += --enable-swresample
21fbb0 83 # Incompatible with GPLv2
2a9e94 84 #CONFIGURE_OPTIONS += --enable-libopencore-amrwb
62c9a7 85 # libschroedinger support was removed in 3.4.x
TM 86 #CONFIGURE_OPTIONS += --enable-libschroedinger
2a9e94 87 CONFIGURE_OPTIONS += --enable-libopenjpeg
AP 88 CONFIGURE_OPTIONS += --enable-librtmp
89 CONFIGURE_OPTIONS += --enable-vdpau
90 CONFIGURE_OPTIONS += --enable-shared
91 CONFIGURE_OPTIONS += --disable-static
62c9a7 92 # these tests cause problems, skip them
TM 93 CONFIGURE_OPTIONS += --ignore-tests=source
2a9e94 94
3bcb29 95 CONFIGURE_ENV += CPPFLAGS="$(CPPFLAGS)"
2a9e94 96
5d3370 97 COMPONENT_TEST_ENV += PATH=$(PROTO_DIR)/$(CONFIGURE_BINDIR.$(BITS)):$(PATH)
AL 98 COMPONENT_TEST_ENV += LD_LIBRARY_PATH=$(PROTO_DIR)/$(CONFIGURE_LIBDIR.$(BITS))
6a60ae 99
62c9a7 100 COMPONENT_TEST_TRANSFORMS+= '-n -e "/TEST/p" -e "/^IGNORE/p" '
TM 101
102 # You must run the 'install' target before running the test
103 # suite, as we use binaries and libraries from $(PROTO_DIR) for tests
104 # to reduce issues with all the test binaries not being able to find
105 # ffmpeg's libraries.
fc9d08 106 test:    install $(TEST_64)
735415 107
aa32d9 108 # Auto-generated dependencies
6a60ae 109 REQUIRED_PACKAGES += audio/lame
62c9a7 110 REQUIRED_PACKAGES += codec/dav1d
6a60ae 111 REQUIRED_PACKAGES += codec/libtheora
AL 112 REQUIRED_PACKAGES += codec/speex
113 REQUIRED_PACKAGES += compress/bzip2
114 REQUIRED_PACKAGES += compress/xz
115 REQUIRED_PACKAGES += image/library/openjpeg
116 REQUIRED_PACKAGES += library/audio/libgsm
117 REQUIRED_PACKAGES += library/audio/openal
118 REQUIRED_PACKAGES += library/graphics/libvdpau
119 REQUIRED_PACKAGES += library/libvorbis
27eae2 120 REQUIRED_PACKAGES += library/libwebp
aa32d9 121 REQUIRED_PACKAGES += library/sdl2
031d3b 122 REQUIRED_PACKAGES += library/security/openssl-31
6a60ae 123 REQUIRED_PACKAGES += library/video/libass
AL 124 REQUIRED_PACKAGES += library/video/libvpx
125 REQUIRED_PACKAGES += library/video/x264
aa32d9 126 REQUIRED_PACKAGES += library/video/x265
6a60ae 127 REQUIRED_PACKAGES += library/video/xvid
AL 128 REQUIRED_PACKAGES += library/zlib
129 REQUIRED_PACKAGES += system/library
130 REQUIRED_PACKAGES += system/library/math
131 REQUIRED_PACKAGES += video/rtmpdump
132 REQUIRED_PACKAGES += x11/library/libx11
133 REQUIRED_PACKAGES += x11/library/libxcb
134 REQUIRED_PACKAGES += x11/library/libxext
135 REQUIRED_PACKAGES += x11/library/libxv