component(developer/golang-123): Add Component
[oi-userland.git] / components / encumbered / vlc / Makefile
blob00e5f53bf71cc8ecaf829fb1cb08d1d43b2884b1
2 # This file and its contents are supplied under the terms of the
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.
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.
13 # Copyright 2015 Aurelien Larcher
14 # Copyright 2022-2023 Niklas Poslovski
17 USE_DEFAULT_TEST_TRANSFORMS= yes
18 include ../../../make-rules/shared-macros.mk
20 COMPONENT_NAME= vlc
21 COMPONENT_VERSION= 3.0.21
22 COMPONENT_SUMMARY= Cross-platform media player and streaming server
23 COMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION)
24 COMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.xz
25 COMPONENT_ARCHIVE_HASH= sha256:24dbbe1d7dfaeea0994d5def0bbde200177347136dbfe573f5b6a4cee25afbb0
26 COMPONENT_ARCHIVE_URL= https://download.videolan.org/pub/videolan/vlc/$(COMPONENT_VERSION)/$(COMPONENT_ARCHIVE)
27 COMPONENT_PROJECT_URL= https://www.videolan.org/vlc
28 COMPONENT_FMRI= media/vlc
29 COMPONENT_CLASSIFICATION= Applications/Sound and Video
30 COMPONENT_LICENSE= GPLv2.0,LGPLv2.1
32 # We need to force compilation with ffmpeg 6
33 # https://code.videolan.org/videolan/vlc/-/issues/28605
34 FFMPEG_VERSION = 6
36 include $(WS_MAKE_RULES)/encumbered.mk
37 include $(WS_MAKE_RULES)/common.mk
39 PATH= $(PATH.gnu)
41 # Required for POSIX recvmsg/sendmsg
42 LDFLAGS += -lnsl -lsocket
44 # Required for stack protector
45 LDFLAGS += -lssp
47 # Required OpenGL extensions
48 CFLAGS += -I/usr/include/mesa -DGLEXT_PROTOTYPES
50 # Define to ensure consistency
51 CFLAGS += -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
52 CXXFLAGS += -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
54 # Use Qt5
55 PKG_CONFIG_PATH +=:$(QT5_PKG_CONFIG_PATH)
57 COMPONENT_PREP_ACTION = ( cd $(@D); autoreconf )
59 CONFIGURE_ENV += LUAC=$(USRBINDIR64)/luac
61 CONFIGURE_OPTIONS += --enable-shared
62 CONFIGURE_OPTIONS += --disable-static
64 # Input
65 CONFIGURE_OPTIONS += --enable-sout
66 CONFIGURE_OPTIONS += --enable-lua
67 CONFIGURE_OPTIONS += --enable-vlm
68 CONFIGURE_OPTIONS += --enable-addonmanagermodules
69 CONFIGURE_OPTIONS += --disable-live555
70 CONFIGURE_OPTIONS += --disable-dc1394
71 CONFIGURE_OPTIONS += --disable-dv1394
72 CONFIGURE_OPTIONS += --disable-linsys
73 CONFIGURE_OPTIONS += --enable-dvdread
74 CONFIGURE_OPTIONS += --enable-dvdnav
75 CONFIGURE_OPTIONS += --enable-bluray
76 CONFIGURE_OPTIONS += --disable-opencv
77 CONFIGURE_OPTIONS += --disable-smbclient
78 CONFIGURE_OPTIONS += --enable-sftp
79 CONFIGURE_OPTIONS += --disable-v4l2
80 CONFIGURE_OPTIONS += --disable-decklink
81 CONFIGURE_OPTIONS += --disable-vcd
82 CONFIGURE_OPTIONS += --enable-libcddb
83 CONFIGURE_OPTIONS += --enable-screen
84 CONFIGURE_OPTIONS += --disable-vnc
85 CONFIGURE_OPTIONS += --disable-freerdp
86 CONFIGURE_OPTIONS += --disable-realrtsp
88 # Mux/Demux
89 CONFIGURE_OPTIONS += --enable-dvbpsi
90 CONFIGURE_OPTIONS += --disable-gme
91 CONFIGURE_OPTIONS += --disable-sid
92 CONFIGURE_OPTIONS += --enable-ogg
93 CONFIGURE_OPTIONS += --disable-shout
94 CONFIGURE_OPTIONS += --enable-matroska
95 CONFIGURE_OPTIONS += --disable-mod
96 CONFIGURE_OPTIONS += --enable-mpc
98 # Codec
99 CONFIGURE_OPTIONS += --disable-wma-fixed
100 CONFIGURE_OPTIONS += --disable-shine
101 CONFIGURE_OPTIONS += --disable-mmal
102 CONFIGURE_OPTIONS += --disable-crystalhd
103 CONFIGURE_OPTIONS += --enable-mad
104 CONFIGURE_OPTIONS += --disable-merge-ffmpeg
105 CONFIGURE_OPTIONS += --disable-gst-decode
106 CONFIGURE_OPTIONS += --enable-avcodec
107 CONFIGURE_OPTIONS += --disable-libva
108 CONFIGURE_OPTIONS += --disable-dxva2
109 CONFIGURE_OPTIONS += --enable-avformat
110 CONFIGURE_OPTIONS += --enable-swscale
111 CONFIGURE_OPTIONS += --disable-postproc
112 CONFIGURE_OPTIONS += --enable-faad
113 CONFIGURE_OPTIONS += --enable-dxva2
114 CONFIGURE_OPTIONS += --enable-twolame
115 CONFIGURE_OPTIONS += --enable-dxva2
116 CONFIGURE_OPTIONS += --enable-dca
117 CONFIGURE_OPTIONS += --enable-flac
118 CONFIGURE_OPTIONS += --enable-libmpeg2
119 CONFIGURE_OPTIONS += --enable-vorbis
120 CONFIGURE_OPTIONS += --enable-speex
121 CONFIGURE_OPTIONS += --enable-opus
122 CONFIGURE_OPTIONS += --enable-theora
123 CONFIGURE_OPTIONS += --enable-schroedinger
124 CONFIGURE_OPTIONS += --enable-png
125 CONFIGURE_OPTIONS += --enable-jpeg
126 CONFIGURE_OPTIONS += --disable-x262
127 CONFIGURE_OPTIONS += --enable-x264
128 CONFIGURE_OPTIONS += --enable-x265
129 CONFIGURE_OPTIONS += --disable-mfx
130 CONFIGURE_OPTIONS += --disable-fluidsynth
131 CONFIGURE_OPTIONS += --disable-zvbi
132 CONFIGURE_OPTIONS += --enable-telx
133 CONFIGURE_OPTIONS += --enable-libass
134 CONFIGURE_OPTIONS += --disable-kate
135 CONFIGURE_OPTIONS += --disable-tiger
137 # Video
138 CONFIGURE_OPTIONS += --with-x
139 CONFIGURE_OPTIONS += --enable-xcb
140 CONFIGURE_OPTIONS += --enable-xvideo
141 CONFIGURE_OPTIONS += --enable-vdpau
142 CONFIGURE_OPTIONS += --enable-sdl-image
143 CONFIGURE_OPTIONS += --enable-freetype
144 CONFIGURE_OPTIONS += --enable-fribidi
145 CONFIGURE_OPTIONS += --enable-fontconfig
146 CONFIGURE_OPTIONS += --enable-svg
147 CONFIGURE_OPTIONS += --enable-svgdec
148 CONFIGURE_OPTIONS += --enable-dav1d
149 CONFIGURE_OPTIONS += --disable-caca
150 CONFIGURE_OPTIONS += --disable-kva
152 # Audio
153 CONFIGURE_OPTIONS += --enable-pulse
154 CONFIGURE_OPTIONS += --disable-jack
155 CONFIGURE_OPTIONS += --enable-samplerate
156 CONFIGURE_OPTIONS += --disable-kai
157 CONFIGURE_OPTIONS += --disable-chromaprint
158 CONFIGURE_OPTIONS += --disable-spatialaudio
160 # Interface
161 CONFIGURE_OPTIONS += --enable-qt
162 CONFIGURE_OPTIONS += --enable-skins2
163 CONFIGURE_OPTIONS += --disable-libtar
164 CONFIGURE_OPTIONS += --disable-ncurses
165 CONFIGURE_OPTIONS += --disable-lirc
167 # Filters
168 CONFIGURE_OPTIONS += --disable-goom
169 CONFIGURE_OPTIONS += --disable-projectm
170 CONFIGURE_OPTIONS += --disable-vsxu
172 # Services
173 CONFIGURE_OPTIONS += --disable-microdns
174 CONFIGURE_OPTIONS += --disable-udev
175 CONFIGURE_OPTIONS += --enable-mtp
176 CONFIGURE_OPTIONS += --enable-upnp
178 # Misc
179 CONFIGURE_OPTIONS += --enable-libxml2
180 CONFIGURE_OPTIONS += --enable-libgcrypt
181 CONFIGURE_OPTIONS += --enable-gnutls
182 CONFIGURE_OPTIONS += --enable-taglib
183 CONFIGURE_OPTIONS += --enable-notify
186 QT5_ROOT = $(QT5_BASEDIR)
187 QT5_RPATH = $(GCC_LIBDIR):$(QT5_LIBDIR)
188 QT5_PLUGIN = /usr/lib/$(MACH64)/vlc/plugins/gui/libqt_plugin.so
190 COMPONENT_POST_INSTALL_ACTION = \
191 /usr/bin/elfedit -e 'dyn:value -s RUNPATH "$(QT5_RPATH)"' $(PROTO_DIR)$(QT5_PLUGIN) &&\
192 /usr/bin/elfedit -e 'dyn:value -s RPATH "$(QT5_RPATH)"' $(PROTO_DIR)$(QT5_PLUGIN)
194 # Auto-generated dependencies
195 REQUIRED_PACKAGES += $(GCC_RUNTIME_PKG)
196 REQUIRED_PACKAGES += $(GXX_RUNTIME_PKG)
197 REQUIRED_PACKAGES += $(JPEG_IMPLEM_PKG)
198 REQUIRED_PACKAGES += SUNWcs
199 REQUIRED_PACKAGES += audio/faad2
200 REQUIRED_PACKAGES += audio/mpg123
201 REQUIRED_PACKAGES += audio/twolame
202 REQUIRED_PACKAGES += codec/dav1d
203 REQUIRED_PACKAGES += codec/flac
204 REQUIRED_PACKAGES += codec/libtheora
205 REQUIRED_PACKAGES += codec/speex
206 REQUIRED_PACKAGES += developer/ffmpeg-6
207 REQUIRED_PACKAGES += image/library/libpng16
208 REQUIRED_PACKAGES += image/library/librsvg
209 REQUIRED_PACKAGES += image/library/sdl-image
210 REQUIRED_PACKAGES += library/audio/liba52
211 REQUIRED_PACKAGES += library/audio/libdca
212 REQUIRED_PACKAGES += library/audio/libmad
213 REQUIRED_PACKAGES += library/audio/libmpcdec
214 REQUIRED_PACKAGES += library/audio/pulseaudio
215 REQUIRED_PACKAGES += library/audio/soxr
216 REQUIRED_PACKAGES += library/audio/taglib
217 REQUIRED_PACKAGES += library/c++/abseil-cpp
218 REQUIRED_PACKAGES += library/c++/harfbuzz
219 REQUIRED_PACKAGES += library/c++/protobuf
220 REQUIRED_PACKAGES += library/desktop/cairo
221 REQUIRED_PACKAGES += library/desktop/gdk-pixbuf
222 REQUIRED_PACKAGES += library/desktop/gtk3
223 REQUIRED_PACKAGES += library/ffmpeg-6
224 REQUIRED_PACKAGES += library/fribidi
225 REQUIRED_PACKAGES += library/glib2
226 REQUIRED_PACKAGES += library/gnutls-3
227 REQUIRED_PACKAGES += library/libarchive
228 REQUIRED_PACKAGES += library/libebml
229 REQUIRED_PACKAGES += library/libidn
230 REQUIRED_PACKAGES += library/libmtp
231 REQUIRED_PACKAGES += library/libnotify
232 REQUIRED_PACKAGES += library/libogg
233 REQUIRED_PACKAGES += library/libsamplerate
234 REQUIRED_PACKAGES += library/libsecret
235 REQUIRED_PACKAGES += library/libssh2
236 REQUIRED_PACKAGES += library/libvorbis
237 REQUIRED_PACKAGES += library/libxml2
238 REQUIRED_PACKAGES += library/opus
239 REQUIRED_PACKAGES += library/qt5
240 REQUIRED_PACKAGES += library/sdl
241 REQUIRED_PACKAGES += library/security/libgpg-error
242 REQUIRED_PACKAGES += library/speexdsp
243 REQUIRED_PACKAGES += library/video/libass
244 REQUIRED_PACKAGES += library/video/libbluray
245 REQUIRED_PACKAGES += library/video/libdvbpsi
246 REQUIRED_PACKAGES += library/video/libdvdnav
247 REQUIRED_PACKAGES += library/video/libdvdread
248 REQUIRED_PACKAGES += library/video/libmatroska
249 REQUIRED_PACKAGES += library/video/libmpeg2
250 REQUIRED_PACKAGES += library/video/libschroedinger
251 REQUIRED_PACKAGES += library/video/libvpx
252 REQUIRED_PACKAGES += library/video/x264
253 REQUIRED_PACKAGES += library/video/x265
254 REQUIRED_PACKAGES += library/zlib
255 REQUIRED_PACKAGES += runtime/lua
256 REQUIRED_PACKAGES += shell/ksh93
257 REQUIRED_PACKAGES += system/library
258 REQUIRED_PACKAGES += system/library/fontconfig
259 REQUIRED_PACKAGES += system/library/freetype-2
260 REQUIRED_PACKAGES += system/library/libdbus
261 REQUIRED_PACKAGES += system/library/libupnp
262 REQUIRED_PACKAGES += system/library/math
263 REQUIRED_PACKAGES += system/library/security/libgcrypt
264 REQUIRED_PACKAGES += system/network/avahi
265 REQUIRED_PACKAGES += x11/library/libx11
266 REQUIRED_PACKAGES += x11/library/libxcb
267 REQUIRED_PACKAGES += x11/library/libxext
268 REQUIRED_PACKAGES += x11/library/libxinerama
269 REQUIRED_PACKAGES += x11/library/libxpm
270 REQUIRED_PACKAGES += x11/library/xcb-util-keysyms