summaryrefslogtreecommitdiffstats
path: root/vlc/build
diff options
context:
space:
mode:
author Eric Hameleers <alien@slackware.com>2022-07-24 14:26:46 +0000
committer Eric Hameleers <alien@slackware.com>2022-07-24 14:26:46 +0000
commit4687fec63962518213b953befd6690ddc4662a03 (patch)
tree1853da2e0cb91cff2455dbf8bf752e4fce548866 /vlc/build
parent393bc3a51816aae18a10048f752baaeadbef4acb (diff)
downloadasb-4687fec63962518213b953befd6690ddc4662a03.tar.gz
asb-4687fec63962518213b953befd6690ddc4662a03.tar.xz
vlc: update to 3.0.17.4
Diffstat (limited to 'vlc/build')
-rwxr-xr-xvlc/build/vlc.SlackBuild153
1 files changed, 75 insertions, 78 deletions
diff --git a/vlc/build/vlc.SlackBuild b/vlc/build/vlc.SlackBuild
index 2db4f932..42a240fb 100755
--- a/vlc/build/vlc.SlackBuild
+++ b/vlc/build/vlc.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/bash
# $Id$
-# Copyright 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Eric Hameleers, Eindhoven, Netherlands
+# Copyright 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 Eric Hameleers, Eindhoven, Netherlands
#
# Permission to use, copy, modify, and distribute this software for
# any purpose with or without fee is hereby granted, provided that
@@ -495,6 +495,8 @@
# * Update. Also updated internal libraries: bluray, dav1d,
# dvdnav, dvdread, dvdcss, ebml, libva, matroska, opus, pcre2,
# speexdsp, ssh2, vpx. Added patches to internal ffmpeg.
+# 3.0.17.4-1 22/jul/2022 by Eric Hameleers <alien@slackware.com>
+# * Update.
#
# Run 'sh vlc.SlackBuild' to build a Slackware package.
# The package (.txz) plus descriptive .txt file are created in /tmp .
@@ -548,9 +550,9 @@ SLACKVER=${SLACKVER:-$(cat /etc/slackware-version| cut -d' ' -f2)}
#PKGVERSION="xxx"
# -----------------------------------------------------------------------------
-VLCBRANCH=${VLCBRANCH:-"3.0"}
-DEFGITURI=${GITURI:-"git://git.videolan.org/vlc/vlc-${VLCBRANCH}.git"}
-VERSION=${VERSION:-"3.0.16"}
+VLCBRANCH=${VLCBRANCH:-"3.0.x"}
+DEFGITURI=${GITURI:-"https://code.videolan.org/videolan/vlc.git"}
+VERSION=${VERSION:-"3.0.17.4"}
PKGVERSION=${VERSION}
#VLCMINOR=${VLCMINOR:-"16"}
#PKGVERSION=${PKGVERSION:-"${VLCBRANCH}.${VLCMINOR}"}
@@ -649,25 +651,25 @@ AACENC=0.1.2
AMRWBENC=0.1.3
AMR=0.1.3
ASDCPLIB=2.7.19
-ASS=0.14.0
+ASS=0.16.0
AVC1394=0.5.4
-BLURAY=1.3.0
+BLURAY=1.3.1
CDDB=1.3.2
CDIO=0.90
-DAV1D=0.9.0
+DAV1D=1.0.0
DC1394=2.2.1
DCA=0.0.7
-DSM=0.3.2
+DSM=0.4.3
DV=1.0.0
DVBPSI=1.3.2
DVDNAV=6.1.1
-DVDREAD=6.1.2
+DVDREAD=6.1.3
DVDCSS=1.4.3
EBML=1.4.2
FAAC=1.28
-FFMPEG=eaff5fc # ffmpeg3 git snapshot 06 dec 2017
+FFMPEG=dc91b91 # ffmpeg4 git snapshot 8 Apr 2021
FLUID=1.1.6
-FRIBIDI=1.0.9
+FRIBIDI=1.0.12
GII=1.0.2
GLEW=2.1.0
GOOM=2k4-0
@@ -690,18 +692,18 @@ RAW1394=2.0.5
SHOUT=2.4.1
SPEEX=1.2.0
SPEEXDSP=1.2.0
-SRT=1.2.2
+SRT=1.4.4
SSH2=1.10.0
TAGLIB=1.11.1
THEORA=1.1.1
TIGER=0.3.4
-TWOLAME=0.3.13
+TWOLAME=0.4.0
UPNP=1.6.19 # pinned by VLC devs?
VDPAU=1.1.1
VPX=1.11.0
X262=20180907
X264=20180907-2245
-X265=2.7
+X265=2.9
# Where do we look for sources?
SRCDIR=$(cd $(dirname $0); pwd)
@@ -721,7 +723,7 @@ if ! which ant 1>/dev/null 2>/dev/null ; then
sleep 10
fi
-# Building dav1d plugin requires meson/ninja/python3:
+# Building dav1d, dsm, fribidi plugins requires meson/ninja/python3:
if ( ! which meson || ! which ninja || ! which python3 ) 1>/dev/null 2>/dev/null ; then
echo "+++ MESON, NINJA and/or PYTHON3 not present - the build will abort on compiling dav1d encoder! +++"
echo "+++ Press Ctrl-C within 10 seconds, install 'meson', 'ninja' and 'python3' and try again. +++"
@@ -814,13 +816,13 @@ USE[7]="YES"
# Unicode BiDirectional algorithm library, requirement for libass.
SOURCE[8]="$SRCDIR/sources/fribidi-${FRIBIDI}.tar.xz"
-SRCURL[8]="https://github.com/fribidi/fribidi/releases/download/v1.0.9/fribidi-${FRIBIDI}.tar.xz"
+SRCURL[8]="https://github.com/fribidi/fribidi/releases/download/v${FRIBIDI}/fribidi-${FRIBIDI}.tar.xz"
SRCPAT[8]="NO"
USE[8]="YES"
# HEVC (X.265) codec:
-SOURCE[9]="$SRCDIR/sources/x265-${X265}.tar.gz"
-SRCURL[9]="http://github.com/videolan/x265/archive/${X265}.tar.gz"
+SOURCE[9]="$SRCDIR/sources/x265_${X265}.tar.gz"
+SRCURL[9]="https://bitbucket.org/multicoreware/x265_git/downloads/x265_${X265}.tar.gz"
SRCPAT[9]="NO"
USE[9]="YES"
@@ -1073,8 +1075,8 @@ SRCPAT[50]="NO"
USE[50]="YES"
# Defective SMb (dsm):
-SOURCE[51]="$SRCDIR/sources/libdsm-${DSM}.tar.gz"
-SRCURL[51]="https://github.com/videolabs/libdsm/releases/download/v${DSM}/libdsm-${DSM}.tar.gz"
+SOURCE[51]="$SRCDIR/sources/libdsm-${DSM}.tar.xz"
+SRCURL[51]="https://github.com/videolabs/libdsm/releases/download/v${DSM}/libdsm-${DSM}.tar.xz"
SRCPAT[51]="NO"
USE[51]="YES"
@@ -1613,26 +1615,21 @@ cat $SRCDIR/patches/ffmpeg_dxva_vc1_crash.patch | patch -p1 --verbose \
# Fix SAR not set early enough when starting the decoder:
cat $SRCDIR/patches/ffmpeg_h264_early_SAR.patch | patch -p1 --verbose \
2>&1 | tee -a $OUTPUT/patch-${PRGNAM}_ffmpeg.log
-# Don't use EBML elements in Matroska that are bigger than their parents:
-cat $SRCDIR/patches/ffmpeg_mkv-overshoot.patch | patch -p1 --verbose \
+# Apply VLC's own patches:
+cat $SRCDIR/patches/0001-avcodec-dxva2_hevc-add-support-for-parsing-HEVC-Rang.patch | patch -p1 --verbose \
+ 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}_ffmpeg.log
+cat $SRCDIR/patches/0002-avcodec-hevcdec-allow-HEVC-444-8-10-12-bits-decoding.patch | patch -p1 --verbose \
2>&1 | tee -a $OUTPUT/patch-${PRGNAM}_ffmpeg.log
-# Apply an upstreamed patch:
-cat $SRCDIR/patches/ffmpeg_fix-memset-size.patch | patch -p1 --verbose \
+cat $SRCDIR/patches/0003-avcodec-hevcdec-allow-HEVC-422-10-12-bits-decoding-w.patch | patch -p1 --verbose \
2>&1 | tee -a $OUTPUT/patch-${PRGNAM}_ffmpeg.log
-# Set the alternate transfer function early in HEVC:
-cat $SRCDIR/patches/ffmpeg_avcodec_hevcdec_sei_params.patch | patch -p1 --verbose \
+cat $SRCDIR/patches/0001-avcodec-mpeg12dec-don-t-call-hw-end_frame-when-start.patch | patch -p1 --verbose \
2>&1 | tee -a $OUTPUT/patch-${PRGNAM}_ffmpeg.log
-# Set the alternate transfer function early in H264:
-cat $SRCDIR/patches/ffmpeg_avcodec_h264_slice_sei_params.patch | patch -p1 --verbose \
+cat $SRCDIR/patches/0002-avcodec-mpeg12dec-don-t-end-a-slice-without-first_sl.patch | patch -p1 --verbose \
2>&1 | tee -a $OUTPUT/patch-${PRGNAM}_ffmpeg.log
-# Backport VP9 profile 10-bit support:
-cat $SRCDIR/patches/ffmpeg_avcodec_vp9_10bit_support.patch | patch -p1 --verbose \
+cat $SRCDIR/patches/0001-avcodec-vp9-Do-not-destroy-uninitialized-mutexes-con.patch | patch -p1 --verbose \
+ 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}_ffmpeg.log
+cat $SRCDIR/patches/0001-dxva2_hevc-don-t-use-frames-as-reference-if-they-are.patch | patch -p1 --verbose \
2>&1 | tee -a $OUTPUT/patch-${PRGNAM}_ffmpeg.log
-# Fix crash on use after free buffer in MPEG2 DXVA
-cat $SRCDIR/patches/ffmpeg_mpeg12dec-dont-call-hw-end_frame-when-start.patch \
- | patch -p1 --verbose 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}_ffmpeg.log
-cat $SRCDIR/patches/ffmpeg_mpeg12dec-dont-end-slice-without-first_slice.patch \
- | patch -p1 --verbose 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}_ffmpeg.log
if pkg-config --exists libopenjp2 1>/dev/null 2>/dev/null ; then
USE_OPENJPEG="--enable-libopenjpeg"
@@ -1642,6 +1639,8 @@ fi
if [ "$ARCH" = "x86_64" ]; then
ARCHOPTS="--arch=x86_64 --enable-pic"
+elif [ "$ARCH" = "i586" ]; then
+ ARCHOPTS="--arch=x86"
elif [ "$ARCH" = "armv7hl" ]; then
ARCHOPTS="--arch=arm --enable-pic --disable-runtime-cpudetect --cpu=cortex-a8 --enable-neon"
else
@@ -1694,10 +1693,12 @@ PKG_CONFIG_PATH="${VLCDEPSDIR}/usr/lib${LIBDIRSUFFIX}/pkgconfig" \
--enable-libvorbis \
--enable-libvo-amrwbenc \
--enable-libvpx \
- --enable-pthreads \
- --enable-static \
+ --enable-bsf=vp9_superframe \
--enable-bzlib \
+ --enable-postproc \
+ --enable-pthreads \
--enable-zlib \
+ --enable-static \
$ARCHOPTS \
--target-os=linux \
--extra-cflags="-I${VLCDEPSDIR}/usr/include" \
@@ -2147,7 +2148,7 @@ make install m4datadir=$VLCDEPSDIR/usr/share/aclocal \
2>&1 | tee -a $OUTPUT/make-${PRGNAM}_dvdread.log
# Add DOCS to the vlcdeps to have it added to vlc package later:
mkdir -p $VLCDEPSDIR/doc/libdvdread/
-cp AUTHORS COPYING ChangeLog NEWS README TODO \
+cp AUTHORS COPYING ChangeLog NEWS README* TODO \
$VLCDEPSDIR/doc/libdvdread/ || true
cd -
}
@@ -2242,7 +2243,7 @@ make ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_twolame.log
make install 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_twolame.log
# Add DOCS to the vlcdeps to have it added to vlc package later:
mkdir -p $VLCDEPSDIR/doc/twolame/
-cp AUTHORS COPYING ChangeLog README TODO \
+cp AUTHORS COPYING ChangeLog NEWS README \
$VLCDEPSDIR/doc/twolame/ || true
cd -
}
@@ -2311,14 +2312,14 @@ make_srt()
echo -e "**\n** srt ...\n**"
cd $TMP/tmp-$PRGNAM/srt-${SRT}
-# Apply patches:
-touch $OUTPUT/patch-${PRGNAM}_srt.log
-cat $SRCDIR/patches/srt_fix_pc.patch \
- | patch -p1 --verbose 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}_srt.log
-cat $SRCDIR/patches/srt_add_implicit_link_libraries.patch \
- | patch -p1 --verbose 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}_srt.log
+## Apply patches:
+#touch $OUTPUT/patch-${PRGNAM}_srt.log
+#cat $SRCDIR/patches/srt_fix_pc.patch \
+# | patch -p1 --verbose 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}_srt.log
+#cat $SRCDIR/patches/srt_add_implicit_link_libraries.patch \
+# | patch -p1 --verbose 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}_srt.log
-pkg_static "scripts/haisrt.pc.in"
+pkg_static "scripts/srt.pc.in"
# Adapt for x86_64 library paths:
sed -e "s,DESTINATION lib,&${LIBDIRSUFFIX}," \
@@ -2344,7 +2345,7 @@ cd ..
# Add DOCS to the vlcdeps to have it added to vlc package later:
mkdir -p $VLCDEPSDIR/doc/srt/
-cp CONTRIBUTING* COPYING* README* $VLCDEPSDIR/doc/srt/ || true
+cp CONTRIBUTING* LICENSE README* $VLCDEPSDIR/doc/srt/ || true
cd ..
}
@@ -2356,27 +2357,26 @@ make_dsm()
{
echo -e "**\n** dsm ...\n**"
cd $TMP/tmp-$PRGNAM/libdsm-${DSM}
-# Workaround for autoreconf failure:
-# configure.ac:38: error: required file './config.rpath' not found --->
-# touch config.rpath
-CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
-LDFLAGS="$SLKLDFLAGS" \
-./configure \
- --prefix=$VLCDEPSDIR/usr \
- --libdir=$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX} \
- --enable-static \
- --disable-shared \
- --program-prefix= \
- --program-suffix= \
- --build=$TARGET \
- 2>&1 | tee $OUTPUT/configure-${PRGNAM}_dsm.log
-make ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_dsm.log
+export CFLAGS="$SLKCFLAGS"
+export CXXFLAGS="$SLKCFLAGS"
+export LDFLAGS="$SLKLDFLAGS"
+mkdir meson-build
+cd meson-build
+ meson setup \
+ --default-library=static \
+ --prefix=$VLCDEPSDIR/usr \
+ --libdir=$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX} \
+ -Dauto_features=disabled -Dbinaries=false \
+ .. 2>&1 | tee $OUTPUT/configure-${PRGNAM}_dsm.log
+ ninja 2>&1 | tee $OUTPUT/make-${PRGNAM}_dsm.log
+cd - 1>/dev/null
-pkg_static "libdsm.pc"
+pkg_static "libdsm.pc.in"
+
+# Install into a temp location so vlc can pickup the library
+echo -e "\n**\n**\n"
+ninja install -C meson-build 2>&1 | tee $OUTPUT/install-${PRGNAM}_dsm.log
-# Install dsm into a temp location so vlc can pickup the library
-make install 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_dsm.log
# Add DOCS to the vlcdeps to have it added to vlc package later:
mkdir -p $VLCDEPSDIR/doc/dsm/
cp AUTHORS COPYING NEWS $VLCDEPSDIR/doc/dsm/ || true
@@ -2984,9 +2984,9 @@ cd $TMP/tmp-$PRGNAM/fribidi-$FRIBIDI
# Apply patches:
touch $OUTPUT/patch-${PRGNAM}_fribidi.log
-# Do not build tests and binaries:
-cat $SRCDIR/patches/fribidi_nobins.patch | patch -p1 --verbose \
- 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}_fribidi.log
+## Do not build tests and binaries:
+#cat $SRCDIR/patches/fribidi_nobins.patch | patch -p1 --verbose \
+# 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}_fribidi.log
meson build \
--default-library=static \
@@ -3511,7 +3511,7 @@ make ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_bluray.log
make install 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_bluray.log
# Add DOCS to the vlcdeps to have it added to vlc package later:
mkdir -p $VLCDEPSDIR/doc/libbluray/
-cp COPYING *.txt $VLCDEPSDIR/doc/libbluray/ || true
+cp COPYING README* $VLCDEPSDIR/doc/libbluray/ || true
cd -
}
@@ -3581,7 +3581,7 @@ make_x265()
{
echo -e "**\n** x265 ...\n**"
# We use videolan's contribs repository now:
-cd $TMP/tmp-$PRGNAM/x265-${X265}
+cd $TMP/tmp-$PRGNAM/x265_${X265}
pkg_static "source/x265.pc.in"
@@ -4058,14 +4058,11 @@ echo "" >$OUTPUT/patch-${PRGNAM}.log
cat $SRCDIR/patches/vlc_qt5static.patch | patch -p1 --verbose \
2>&1 | tee -a $OUTPUT/patch-${PRGNAM}.log
-# Add an extra include to support Qt 5.15 (fixed post VLC 3.0.11.1):
-cat $SRCDIR/patches/vlc_qt515.patch | patch -p1 --verbose \
+# Upstream patch to make VLC 3.x work with dav1d 1.0.x:
+cat $SRCDIR/patches/vlc_dav1d-1.0.patch | patch -p1 --verbose \
+ 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}.log
+cat $SRCDIR/patches/vlc_dav1d-1.0_framelimit.patch | patch -p1 --verbose \
2>&1 | tee -a $OUTPUT/patch-${PRGNAM}.log
-
-# Make x264 module compatible with x264 versions (X264_BUILD) newer than 153
-# (no longer needed for vlc > 3.0.4):
-#cat $SRCDIR/patches/vlc_x264_153api.patch | patch -p1 --verbose \
-# 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}.log
# Fix SDL header location:
sed -i -e "s#SDL_image.h#SDL/&#" -e "s#SDL.h#SDL/&#" $(grep -lr "SDL*.h" .)