# Contributor: Ɓukasz Jendrysik # Contributor: Leonardo Arena # Contributor: Natanael Copa # Maintainer: memdmp _reponame="vlc" _repoowner="videolan" _repourl="https://code.videolan.org/${_repoowner}/${_reponame}" # GITHUB_CODELOAD_URL due to github not having IPv6. _reporef="70de580e9b8231fd0bb1da614ccbd95dcce9884a" # Must be a TAG OR BRANCH! Anything else may break shit. _reporefdate="20250616" # YYYYMMDD of the ref _buildtarget="Release" # or `Debug` for testing # https://code.videolan.org/videolan/vlc/-/archive/70de580e9b8231fd0bb1da614ccbd95dcce9884a/vlc-70de580e9b8231fd0bb1da614ccbd95dcce9884a.tar.gz pkgname=vlc4 pkgver=3.99.99 pkgrel=8 pkgdesc="Multi-platform MPEG, VCD/DVD, and DivX player" triggers="vlc4-libs.trigger=/usr/lib/vlc/plugins" pkgusers="vlc" pkggroups="vlc" url="https://www.videolan.org/vlc/" arch="all" license="GPL-2.0-or-later" subpackages=" $pkgname-dev $pkgname-doc $pkgname-qt $pkgname-daemon::noarch $pkgname-libs " makedepends=" a52dec-dev abseil-cpp-dev alsa-lib-dev autoconf automake avahi-dev bison dav1d-dev dbus-dev eudev-dev faad2-dev ffmpeg4-dev flac-dev flex freetype-dev gnutls-dev gtk+3.0-dev gst-plugins-base-dev libarchive-dev libass-dev libavc1394-dev libbluray-dev libcddb-dev libdc1394-dev libdvbpsi-dev libdvdnav-dev libdvdread-dev libgcrypt-dev libice-dev libmad-dev libmatroska-dev libmicrodns-dev libmpeg2-dev libnotify-dev libogg-dev libplacebo5-dev libraw1394-dev librsvg-dev libsamplerate-dev libsecret-dev libshout-dev libsm-dev libsrt-dev libtheora-dev libtool libupnp-dev libva-dev libvdpau-dev libvorbis-dev libvpx-dev libx11-dev libxext-dev libxinerama-dev libxml2-dev libxpm-dev libxv-dev live-media-dev lua5.2-dev mesa-dev ncurses-dev opus-dev protobuf-dev pulseaudio-dev qt6-qt5compat-dev qt6-qtbase-dev qt6-qtbase-x11 qt6-qtbase-private-dev qt6-qtdeclarative-dev qt6-qtdeclarative-private-dev qt6-qtsvg-dev qt6-qttools-dev qt6-qtwayland-dev samba-dev sdl2-dev speex-dev speexdsp-dev sysfsutils-dev taglib-dev v4l-utils-dev wayland-dev wayland-protocols x264-dev x265-dev xcb-util-keysyms-dev xcb-util-renderutil-dev xdg-utils " source="${_repourl}/-/archive/${_reporef}/${_reponame}-${_reporef}.tar.gz vlc.initd vlc.confd " builddir="${srcdir}/${_reponame}-${_reporef}" # secfixes: # 3.0.18-r0: # - CVE-2022-41325 # 3.0.12-r0: # - CVE-2020-26664 # 3.0.11-r0: # - CVE-2020-13428 # 3.0.9.2-r0: # - CVE-2019-19721 # - CVE-2020-6071 # - CVE-2020-6072 # - CVE-2020-6073 # - CVE-2020-6077 # - CVE-2020-6078 # - CVE-2020-6079 # 3.0.7.1-r2: # - CVE-2019-13602 build() { NOCONFIGURE=1 ./bootstrap case "$CARCH" in aarch64|arm*) local arch_opts="--enable-omxil --enable-omxil-vout --enable-rpi-omxil" ;; esac CFLAGS="$CFLAGS -fcommon -O2 -flto=auto" \ CXXFLAGS="$CXXFLAGS -flto=auto -O2" \ LUA=lua5.2 \ LUAC=luac5.2 \ ./configure \ --build=$CBUILD \ --host=$CHOST \ --prefix=/usr \ --disable-nls \ --disable-rpath \ --disable-static \ --enable-a52 \ --enable-avcodec \ --enable-avformat \ --enable-bluray \ --enable-dav1d \ --enable-dbus \ --enable-dc1394 \ --enable-dvbpsi \ --enable-dvdnav \ --enable-dvdread \ --enable-faad \ --enable-flac \ --enable-gnutls \ --enable-libcddb \ --enable-libplacebo \ --enable-libva \ --enable-live555 \ --enable-merge-ffmpeg \ --enable-ncurses \ --enable-realrtsp \ --enable-shout \ --enable-skins2 \ --enable-sout \ --enable-speex \ --enable-srt \ --enable-taglib \ --enable-theora \ --enable-upnp \ --enable-v4l2 \ --enable-vdpau \ --enable-vlm \ --enable-vorbis \ --enable-wma-fixed \ --enable-x264 \ --enable-xvideo \ $arch_opts make } package() { make -j1 DESTDIR="$pkgdir" install # delete cache as it's autocreated by trigger rm -rf "$pkgdir"/usr/lib/vlc/plugins/plugins.dat # delete unneeded mozilla and kde support files rm -rf "$pkgdir"/usr/lib/mozilla rm -rf "$pkgdir"/usr/share/kde4 install -D -m755 "$srcdir"/vlc.initd "$pkgdir"/etc/init.d/vlc install -D -m664 "$srcdir"/vlc.confd "$pkgdir"/etc/conf.d/vlc install -d -o vlc -g vlc "$pkgdir"/var/log/vlc } check() { make check || { cat ./*/test-suite.log; false; } } qt() { pkgdesc="Qt frontend for VLC" depends="vlc=$pkgver-r$pkgrel" cd "$pkgdir" # scan for elf files that directly or indirectly depends on # libQt* libraries for i in $(find . -type f ); do if ldd $i 2>/dev/null | grep -q "libQt"; then amove "$i" fi done amove usr/share/icons \ usr/share/applications \ usr/share/metainfo \ usr/bin/qvlc } daemon() { pkgdesc="Support for running VLC as a daemon" install="vlc4-daemon.pre-install" depends="vlc4=$pkgver-r$pkgrel" amove etc/init.d amove etc/conf.d amove var/log/vlc } libs() { depends="" install="vlc4-libs.pre-deinstall" default_libs amove usr/lib/vlc/vlc-cache-gen } sha512sums=" acf70b95bd217be4ca72a6098a35ec7b1c66119a73aeea6219c1f4656de68a88c53486dbff746de3d26272cc7d5258b46e6d99bdb1299089f4a0c83efd17134c vlc-70de580e9b8231fd0bb1da614ccbd95dcce9884a.tar.gz 55e245190b443dde9c7215ea5210612fcca164900a9a4b025ccf0d1e3fc5206d00b52355b256974421e37c609875627f1db19f0f5a084511aec0daf677ecc9d6 vlc.initd d89190dca1b8b2c3faca5863dc6c7e6eb24e05178e6f75ed752fd3c6a73cb8a42d2625b6e56453296b7096ea868be642ecd42745dac20e7f13fc67dd3c3c7c49 vlc.confd "