diff options
author | tytan652 | 2021-05-11 21:45:24 +0200 |
---|---|---|
committer | tytan652 | 2021-05-11 21:45:24 +0200 |
commit | 635b74dbeadd8a64366116f535c561ad986edebc (patch) | |
tree | 6700fb5bdd51afa7d209039a5953fc0254e15f4d | |
download | aur-635b74dbeadd8a64366116f535c561ad986edebc.tar.gz |
build: initial commit
-rw-r--r-- | .SRCINFO | 189 | ||||
-rw-r--r-- | PKGBUILD | 252 | ||||
-rw-r--r-- | update-vlc-plugin-cache.hook | 11 | ||||
-rw-r--r-- | vlc-3.0.11.1-srt_1.4.2.patch | 36 | ||||
-rw-r--r-- | vlc-live-media-2021.patch | 26 |
5 files changed, 514 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..13fde273868d --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,189 @@ +pkgbase = vlc-luajit + pkgdesc = Multi-platform MPEG, VCD/DVD, and DivX player built with luajit and lua5.1 for OBS Studio compatibility + pkgver = 3.0.13 + pkgrel = 1 + url = https://www.videolan.org/vlc/ + arch = x86_64 + license = LGPL2.1 + license = GPL2 + makedepends = gst-plugins-base-libs + makedepends = live-media + makedepends = libnotify + makedepends = libbluray + makedepends = flac + makedepends = libdc1394 + makedepends = libavc1394 + makedepends = libcaca + makedepends = gtk3 + makedepends = librsvg + makedepends = libgme + makedepends = xosd + makedepends = twolame + makedepends = aalib + makedepends = avahi + makedepends = systemd-libs + makedepends = libmtp + makedepends = libupnp + makedepends = libmicrodns + makedepends = libdvdcss + makedepends = smbclient + makedepends = vcdimager + makedepends = libssh2 + makedepends = mesa + makedepends = protobuf + makedepends = libnfs + makedepends = mpg123 + makedepends = libdvdread + makedepends = libdvdnav + makedepends = libogg + makedepends = libshout + makedepends = libmodplug + makedepends = libvpx + makedepends = libvorbis + makedepends = speex + makedepends = opus + makedepends = libtheora + makedepends = libpng + makedepends = libjpeg-turbo + makedepends = libx265.so + makedepends = libx264.so + makedepends = zvbi + makedepends = libass + makedepends = libkate + makedepends = libtiger + makedepends = sdl_image + makedepends = libpulse + makedepends = alsa-lib + makedepends = jack + makedepends = libsamplerate + makedepends = libsoxr + makedepends = lirc + makedepends = libgoom2 + makedepends = projectm + makedepends = chromaprint + makedepends = aom + makedepends = srt + makedepends = dav1d + makedepends = aribb24 + makedepends = aribb25 + makedepends = pcsclite + makedepends = lua51 + depends = a52dec + depends = libdvbpsi + depends = libxpm + depends = libdca + depends = libproxy + depends = luajit + depends = libidn + depends = libmatroska + depends = taglib + depends = libmpcdec + depends = ffmpeg + depends = faad2 + depends = libmad + depends = libmpeg2 + depends = xcb-util-keysyms + depends = libtar + depends = libxinerama + depends = libsecret + depends = libupnp + depends = libixml.so + depends = libupnp.so + depends = libarchive + depends = qt5-base + depends = qt5-x11extras + depends = qt5-svg + depends = freetype2 + depends = fribidi + depends = harfbuzz + depends = fontconfig + depends = libxml2 + depends = gnutls + depends = libplacebo + depends = wayland-protocols + optdepends = avahi: service discovery using bonjour protocol + optdepends = aom: AOM AV1 codec + optdepends = gst-plugins-base-libs: for libgst plugins + optdepends = dav1d: dav1d AV1 decoder + optdepends = libdvdcss: decoding encrypted DVDs + optdepends = libavc1394: devices using the 1394ta AV/C + optdepends = libdc1394: IEEE 1394 access plugin + optdepends = kwallet: kwallet keystore + optdepends = libva-vdpau-driver: vdpau backend nvidia + optdepends = libva-intel-driver: video backend intel + optdepends = libbluray: Blu-Ray video input + optdepends = flac: Free Lossless Audio Codec plugin + optdepends = twolame: TwoLAME mpeg2 encoder plugin + optdepends = libgme: Game Music Emu plugin + optdepends = vcdimager: navigate VCD with libvcdinfo + optdepends = libmtp: MTP devices discovery + optdepends = systemd-libs: udev services discovery + optdepends = smbclient: SMB access plugin + optdepends = libcdio: audio CD playback + optdepends = gnu-free-fonts: subtitle font + optdepends = ttf-dejavu: subtitle font + optdepends = libssh2: sftp access + optdepends = libnfs: NFS access + optdepends = mpg123: mpg123 codec + optdepends = protobuf: chromecast streaming + optdepends = libmicrodns: mDNS services discovery (chromecast etc) + optdepends = lua51-socket: http interface + optdepends = live-media: RTSP input + optdepends = libdvdread: DVD input module + optdepends = libdvdnav: DVD with navigation input module + optdepends = libogg: Ogg and OggSpots codec + optdepends = libshout: shoutcast/icecast output plugin + optdepends = libmodplug: MOD output plugin + optdepends = libvpx: VP8 and VP9 codec + optdepends = libvorbis: Vorbis decoder/encoder + optdepends = speex: Speex codec + optdepends = opus: opus codec + optdepends = libtheora: theora codec + optdepends = libpng: PNG support + optdepends = libjpeg-turbo: JPEG support + optdepends = librsvg: SVG plugin + optdepends = x264: H264 encoding + optdepends = x265: HEVC/H.265 encoder + optdepends = zvbi: VBI/Teletext/webcam/v4l2 capture/decoding + optdepends = libass: Subtitle support + optdepends = libkate: Kate codec + optdepends = libtiger: Tiger rendering for Kate streams + optdepends = sdl_image: SDL image support + optdepends = srt: SRT input/output plugin + optdepends = aalib: ASCII art video output + optdepends = libcaca: colored ASCII art video output + optdepends = libpulse: PulseAudio audio output + optdepends = alsa-lib: ALSA audio output + optdepends = jack: jack audio server + optdepends = libsamplerate: audio Resampler + optdepends = libsoxr: SoX audio Resampler + optdepends = chromaprint: Chromaprint audio fingerprinter + optdepends = lirc: lirc control + optdepends = libgoom2: Goom visualization + optdepends = projectm: ProjectM visualisation + optdepends = ncurses: ncurses interface + optdepends = libnotify: notification plugin + optdepends = gtk3: notification plugin + optdepends = aribb24: aribsub support + optdepends = aribb25: aribcam support + optdepends = pcsclite: aribcam support + provides = vlc=3.0.13 + conflicts = vlc + conflicts = vlc-dev + conflicts = vlc-plugin + conflicts = vlc-stable-git + options = !emptydirs + source = https://download.videolan.org/vlc/3.0.13/vlc-3.0.13.tar.xz + source = https://download.videolan.org/vlc/3.0.13/vlc-3.0.13.tar.xz.asc + source = update-vlc-plugin-cache.hook + source = vlc-3.0.11.1-srt_1.4.2.patch + source = vlc-live-media-2021.patch + validpgpkeys = 65F7C6B4206BD057A7EB73787180713BE58D1ADC + sha512sums = 0badca9d71b682b1dd6f05acab48d77baffe22e6a00be6db2a790644bab74738f9807e889fd0348af72628694b5210896638ac2cd99d0efc0e1c2cef7ab28bff + sha512sums = SKIP + sha512sums = b247510ffeadfd439a5dadd170c91900b6cdb05b5ca00d38b1a17c720ffe5a9f75a32e0cb1af5ebefdf1c23c5acc53513ed983a736e8fa30dd8fad237ef49dd3 + sha512sums = ac1d33d434aca2a0ad6e70800073deeaefc02b8fd72656b682ca833ee0cffe10dfa19a9355388700cab46ffbf9421c007d00ed04c7fa562698ff81e70db5f283 + sha512sums = ad17d6f4f2cc83841c1c89623c339ec3ee94f6084ea980e2c8cbc3903854c85e5396e31bfd8dc90745b41794670903d854c4d282d8adec263087a9d47b226ccc + +pkgname = vlc-luajit + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..860cef56bc85 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,252 @@ +# Maintainer: tytan652 <tytan652[at]tytanium[dot]xyz> + +pkgname=vlc-luajit +_vlcver=3.0.13 +# optional fixup version including hyphen +_vlcfixupver= +pkgver=${_vlcver}${_vlcfixupver//-/.r} +pkgrel=1 +pkgdesc='Multi-platform MPEG, VCD/DVD, and DivX player built with luajit and lua5.1 for OBS Studio compatibility' +url='https://www.videolan.org/vlc/' +arch=('x86_64') +license=('LGPL2.1' 'GPL2') +depends=('a52dec' 'libdvbpsi' 'libxpm' 'libdca' 'libproxy' 'luajit' 'libidn' + 'libmatroska' 'taglib' 'libmpcdec' 'ffmpeg' 'faad2' 'libmad' + 'libmpeg2' 'xcb-util-keysyms' 'libtar' 'libxinerama' 'libsecret' + 'libupnp' 'libixml.so' 'libupnp.so' 'libarchive' 'qt5-base' + 'qt5-x11extras' 'qt5-svg' 'freetype2' 'fribidi' 'harfbuzz' + 'fontconfig' 'libxml2' 'gnutls' 'libplacebo' 'wayland-protocols') +makedepends=('gst-plugins-base-libs' 'live-media' 'libnotify' 'libbluray' + 'flac' 'libdc1394' 'libavc1394' 'libcaca' 'gtk3' + 'librsvg' 'libgme' 'xosd' 'twolame' 'aalib' 'avahi' 'systemd-libs' + 'libmtp' 'libupnp' 'libmicrodns' 'libdvdcss' 'smbclient' + 'vcdimager' 'libssh2' 'mesa' 'protobuf' 'libnfs' 'mpg123' + 'libdvdread' 'libdvdnav' 'libogg' 'libshout' 'libmodplug' 'libvpx' + 'libvorbis' 'speex' 'opus' 'libtheora' 'libpng' 'libjpeg-turbo' + 'libx265.so' 'libx264.so' 'zvbi' 'libass' 'libkate' 'libtiger' + 'sdl_image' 'libpulse' 'alsa-lib' 'jack' 'libsamplerate' 'libsoxr' + 'lirc' 'libgoom2' 'projectm' 'chromaprint' 'aom' 'srt' 'dav1d' + 'aribb24' 'aribb25' 'pcsclite' 'lua51') +optdepends=('avahi: service discovery using bonjour protocol' + 'aom: AOM AV1 codec' + 'gst-plugins-base-libs: for libgst plugins' + 'dav1d: dav1d AV1 decoder' + 'libdvdcss: decoding encrypted DVDs' + 'libavc1394: devices using the 1394ta AV/C' + 'libdc1394: IEEE 1394 access plugin' + 'kwallet: kwallet keystore' + 'libva-vdpau-driver: vdpau backend nvidia' + 'libva-intel-driver: video backend intel' + 'libbluray: Blu-Ray video input' + 'flac: Free Lossless Audio Codec plugin' + 'twolame: TwoLAME mpeg2 encoder plugin' + 'libgme: Game Music Emu plugin' + 'vcdimager: navigate VCD with libvcdinfo' + 'libmtp: MTP devices discovery' + 'systemd-libs: udev services discovery' + 'smbclient: SMB access plugin' + 'libcdio: audio CD playback' + 'gnu-free-fonts: subtitle font ' + 'ttf-dejavu: subtitle font' + 'libssh2: sftp access' + 'libnfs: NFS access' + 'mpg123: mpg123 codec' + 'protobuf: chromecast streaming' + 'libmicrodns: mDNS services discovery (chromecast etc)' + 'lua51-socket: http interface' + 'live-media: RTSP input' + 'libdvdread: DVD input module' + 'libdvdnav: DVD with navigation input module' + 'libogg: Ogg and OggSpots codec' + 'libshout: shoutcast/icecast output plugin' + 'libmodplug: MOD output plugin' + 'libvpx: VP8 and VP9 codec' + 'libvorbis: Vorbis decoder/encoder' + 'speex: Speex codec' + 'opus: opus codec' + 'libtheora: theora codec' + 'libpng: PNG support' + 'libjpeg-turbo: JPEG support' + 'librsvg: SVG plugin' + 'x264: H264 encoding' + 'x265: HEVC/H.265 encoder' + 'zvbi: VBI/Teletext/webcam/v4l2 capture/decoding' + 'libass: Subtitle support' + 'libkate: Kate codec' + 'libtiger: Tiger rendering for Kate streams' + 'sdl_image: SDL image support' + 'srt: SRT input/output plugin' + 'aalib: ASCII art video output' + 'libcaca: colored ASCII art video output' + 'libpulse: PulseAudio audio output' + 'alsa-lib: ALSA audio output' + 'jack: jack audio server' + 'libsamplerate: audio Resampler' + 'libsoxr: SoX audio Resampler' + 'chromaprint: Chromaprint audio fingerprinter' + 'lirc: lirc control' + 'libgoom2: Goom visualization' + 'projectm: ProjectM visualisation' + 'ncurses: ncurses interface' + 'libnotify: notification plugin' + 'gtk3: notification plugin' + 'aribb24: aribsub support' + 'aribb25: aribcam support' + 'pcsclite: aribcam support') +_name=vlc +conflicts=("${_name}" 'vlc-dev' 'vlc-plugin' 'vlc-stable-git') +provides=("${_name}=${pkgver}") +options=('!emptydirs') +source=(https://download.videolan.org/${_name}/${_vlcver}/${_name}-${_vlcver}${_vlcfixupver}.tar.xz{,.asc} + update-vlc-plugin-cache.hook + vlc-3.0.11.1-srt_1.4.2.patch + vlc-live-media-2021.patch) +sha512sums=('0badca9d71b682b1dd6f05acab48d77baffe22e6a00be6db2a790644bab74738f9807e889fd0348af72628694b5210896638ac2cd99d0efc0e1c2cef7ab28bff' + 'SKIP' + 'b247510ffeadfd439a5dadd170c91900b6cdb05b5ca00d38b1a17c720ffe5a9f75a32e0cb1af5ebefdf1c23c5acc53513ed983a736e8fa30dd8fad237ef49dd3' + 'ac1d33d434aca2a0ad6e70800073deeaefc02b8fd72656b682ca833ee0cffe10dfa19a9355388700cab46ffbf9421c007d00ed04c7fa562698ff81e70db5f283' + 'ad17d6f4f2cc83841c1c89623c339ec3ee94f6084ea980e2c8cbc3903854c85e5396e31bfd8dc90745b41794670903d854c4d282d8adec263087a9d47b226ccc') +validpgpkeys=('65F7C6B4206BD057A7EB73787180713BE58D1ADC') # VideoLAN Release Signing Key + +prepare() { + cd ${_name}-${_vlcver} + sed -e 's:truetype/ttf-dejavu:TTF:g' -i modules/visualization/projectm.cpp + sed -e 's|-Werror-implicit-function-declaration||g' -i configure + sed 's|whoami|echo builduser|g' -i configure + sed 's|hostname -f|echo arch|g' -i configure + local src + for src in "${source[@]}"; do + src="${src%%::*}" + src="${src##*/}" + [[ $src = *.patch ]] || continue + echo "Applying patch $src..." + patch -Np1 < "../$src" + done + autoreconf -vf +} + +build() { + cd ${_name}-${_vlcver} + + export CFLAGS+=" -I/usr/include/samba-4.0" + export CPPFLAGS+=" -I/usr/include/samba-4.0" + export CXXFLAGS+=" -std=c++11" + # OBS Studio use luajit which is a drop-in for lua5.1 so lets build VLC with lua5.1 rather than lua5.2 + export LUAC=/usr/bin/luac5.1 + export LUA_LIBS="$(pkg-config --libs luajit)" + export LUA_CFLAGS="$(pkg-config --cflags luajit)" + export RCC=/usr/bin/rcc-qt5 + + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --with-kde-solid=/usr/share/solid/actions/ \ + --disable-rpath \ + --enable-nls \ + --enable-archive \ + --enable-live555 \ + --enable-dc1394 \ + --enable-dv1394 \ + --enable-dvdread \ + --enable-dvdnav \ + --enable-bluray \ + --disable-opencv \ + --enable-smbclient \ + --enable-sftp \ + --enable-nfs \ + --enable-realrtsp \ + --enable-dvbpsi \ + --enable-gme \ + --enable-ogg \ + --enable-shout \ + --enable-matroska \ + --enable-mod \ + --enable-mpc \ + --enable-mad \ + --enable-mpg123 \ + --enable-gst-decode \ + --enable-avcodec \ + --enable-libva \ + --enable-avformat \ + --enable-postproc \ + --enable-faad \ + --enable-vpx \ + --enable-twolame \ + --disable-fdkaac \ + --enable-a52 \ + --enable-dca \ + --enable-flac \ + --enable-libmpeg2 \ + --enable-vorbis \ + --enable-speex \ + --enable-opus \ + --enable-oggspots \ + --disable-schroedinger \ + --enable-png \ + --enable-jpeg \ + --enable-x264 \ + --enable-x265 \ + --enable-zvbi \ + --enable-libass \ + --enable-kate \ + --enable-tiger \ + --enable-vdpau \ + --enable-wayland \ + --enable-sdl-image \ + --enable-freetype \ + --enable-fribidi \ + --enable-harfbuzz \ + --enable-fontconfig \ + --enable-svg \ + --enable-svgdec \ + --enable-aa \ + --enable-caca \ + --enable-pulse \ + --enable-alsa \ + --enable-jack \ + --enable-samplerate \ + --enable-soxr \ + --enable-chromaprint \ + --enable-chromecast \ + --enable-qt \ + --enable-skins2 \ + --enable-libtar \ + --enable-ncurses \ + --enable-lirc \ + --enable-goom \ + --enable-projectm \ + --enable-avahi \ + --enable-mtp \ + --enable-upnp \ + --enable-microdns \ + --enable-libxml2 \ + --disable-libgcrypt \ + --enable-gnutls \ + --enable-taglib \ + --enable-secret \ + --enable-kwallet \ + --disable-update-check \ + --enable-notify \ + --enable-libplacebo \ + --enable-vlc \ + --enable-aribsub \ + --enable-aribcam \ + --enable-aom \ + --enable-srt \ + --enable-dav1d + make +} + +package() { + cd ${_name}-${_vlcver} + + make DESTDIR="${pkgdir}" install + + for res in 16 32 48 128 256; do + install -Dm 644 "${srcdir}/vlc-${_vlcver}/share/icons/${res}x${res}/vlc.png" \ + "${pkgdir}/usr/share/icons/hicolor/${res}x${res}/apps/vlc.png" + done + install -Dm 644 "${srcdir}/update-vlc-plugin-cache.hook" -t "${pkgdir}/usr/share/libalpm/hooks" +} + +# vim: ts=2 sw=2 et: diff --git a/update-vlc-plugin-cache.hook b/update-vlc-plugin-cache.hook new file mode 100644 index 000000000000..d651e4ef37a7 --- /dev/null +++ b/update-vlc-plugin-cache.hook @@ -0,0 +1,11 @@ +[Trigger] +Type = Path +Operation = Install +Operation = Upgrade +Operation = Remove +Target = usr/lib/vlc/plugins/* + +[Action] +Description = Updating the vlc plugin cache... +When = PostTransaction +Exec = /usr/lib/vlc/vlc-cache-gen /usr/lib/vlc/plugins diff --git a/vlc-3.0.11.1-srt_1.4.2.patch b/vlc-3.0.11.1-srt_1.4.2.patch new file mode 100644 index 000000000000..00758c4e14bc --- /dev/null +++ b/vlc-3.0.11.1-srt_1.4.2.patch @@ -0,0 +1,36 @@ +diff -ru vlc-3.0.13.orig/configure.ac vlc-3.0.13/configure.ac +--- vlc-3.0.13.orig/configure.ac 2021-04-27 15:18:39.000000000 +0200 ++++ vlc-3.0.13/configure.ac 2021-05-03 16:10:00.342592591 +0200 +@@ -4016,7 +4016,7 @@ + dnl + dnl SRT plugin + dnl +-PKG_ENABLE_MODULES_VLC([SRT], [access_srt access_output_srt], [srt >= 1.2.2 srt < 1.3.0], [SRT input/output plugin], [auto], [], [], [-DENABLE_SRT]) ++PKG_ENABLE_MODULES_VLC([SRT], [access_srt access_output_srt], [srt >= 1.2.2], [SRT input/output plugin], [auto], [], [], [-DENABLE_SRT]) + + EXTEND_HELP_STRING([Visualisations and Video filter plugins:]) + dnl +diff -ruN a/modules/access/srt.c b/modules/access/srt.c +--- a/modules/access/srt.c 2018-04-23 10:03:39.000000000 +0200 ++++ b/modules/access/srt.c 2020-09-26 10:35:18.830149487 +0200 +@@ -165,7 +165,7 @@ + + /* Set latency */ + i_latency = var_InheritInteger( p_stream, "latency" ); +- srt_setsockopt( p_sys->sock, 0, SRTO_TSBPDDELAY, ++ srt_setsockopt( p_sys->sock, 0, SRTO_LATENCY, + &i_latency, sizeof( int ) ); + + psz_passphrase = var_InheritString( p_stream, "passphrase" ); +diff -ruN a/modules/access_output/srt.c b/modules/access_output/srt.c +--- a/modules/access_output/srt.c 2018-04-06 11:22:51.000000000 +0200 ++++ b/modules/access_output/srt.c 2020-09-26 10:35:03.386828120 +0200 +@@ -162,7 +162,7 @@ + + /* Set latency */ + i_latency = var_InheritInteger( p_access, "latency" ); +- srt_setsockopt( p_sys->sock, 0, SRTO_TSBPDDELAY, ++ srt_setsockopt( p_sys->sock, 0, SRTO_LATENCY, + &i_latency, sizeof( int ) ); + + if ( psz_passphrase != NULL && psz_passphrase[0] != '\0') diff --git a/vlc-live-media-2021.patch b/vlc-live-media-2021.patch new file mode 100644 index 000000000000..5ca5cb30cd63 --- /dev/null +++ b/vlc-live-media-2021.patch @@ -0,0 +1,26 @@ +diff -ru vlc-3.0.13.orig/configure.ac vlc-3.0.13/configure.ac +--- vlc-3.0.13.orig/configure.ac 2021-04-27 15:18:39.000000000 +0200 ++++ vlc-3.0.13/configure.ac 2021-05-03 16:26:26.691200904 +0200 +@@ -1825,7 +1825,7 @@ + AC_MSG_ERROR([Update live555 or pass --disable-live555 to disable RTSP input support.]) + ]) + ], [ +- other_libs="-lgroupsock -lBasicUsageEnvironment -lUsageEnvironment" ++ other_libs="-lcrypto -lssl -lgroupsock -lBasicUsageEnvironment -lUsageEnvironment" + other_libs_pic="-lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic" + AS_IF([test "${SYS}" = "mingw32"], [ + # add ws2_32 for closesocket, select, recv +diff -ru vlc-3.0.13.orig/modules/access/live555.cpp vlc-3.0.13/modules/access/live555.cpp +--- vlc-3.0.13.orig/modules/access/live555.cpp 2019-03-29 20:01:15.000000000 +0100 ++++ vlc-3.0.13/modules/access/live555.cpp 2021-05-03 16:04:38.030121796 +0200 +@@ -852,7 +852,9 @@ + if( !p_sys->b_multicast ) + { + /* We need different rollover behaviour for multicast */ +- p_sys->b_multicast = IsMulticastAddress( sub->connectionEndpointAddress() ); ++ struct sockaddr_storage tempAddr; ++ sub->getConnectionEndpointAddress(tempAddr); ++ p_sys->b_multicast = IsMulticastAddress( tempAddr ); + } + + tk = (live_track_t*)malloc( sizeof( live_track_t ) ); |