diff options
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 |
commit | 4687fec63962518213b953befd6690ddc4662a03 (patch) | |
tree | 1853da2e0cb91cff2455dbf8bf752e4fce548866 /vlc/build | |
parent | 393bc3a51816aae18a10048f752baaeadbef4acb (diff) | |
download | asb-4687fec63962518213b953befd6690ddc4662a03.tar.gz asb-4687fec63962518213b953befd6690ddc4662a03.tar.xz |
vlc: update to 3.0.17.4
Diffstat (limited to 'vlc/build')
-rwxr-xr-x | vlc/build/vlc.SlackBuild | 153 |
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" .) |