From 6f40f9e2f542addabcc0050d5fe14ebcaf539f3d Mon Sep 17 00:00:00 2001 From: Eric Hameleers Date: Mon, 10 Jan 2022 20:29:45 +0000 Subject: handbrake: update to 1.5.0 --- handbrake/build/handbrake.SlackBuild | 115 ++++++++++++++++++++++++----------- 1 file changed, 81 insertions(+), 34 deletions(-) (limited to 'handbrake') diff --git a/handbrake/build/handbrake.SlackBuild b/handbrake/build/handbrake.SlackBuild index 90e03637..1782d6b4 100755 --- a/handbrake/build/handbrake.SlackBuild +++ b/handbrake/build/handbrake.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh # $Id$ -# Copyright 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Eric Hameleers, Eindhoven, NL +# Copyright 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 Eric Hameleers, Eindhoven, NL # All rights reserved. # # Permission to use, copy, modify, and distribute this software for @@ -84,6 +84,8 @@ # * Update. # 1.4.1-1: 18/aug/2021 by Eric Hameleers # * Update. +# 1.5.0-1: 10/jan/2022 by Eric Hameleers +# * Update. # # Run 'sh handbrake.SlackBuild' to build a Slackware package. # The package (.txz) and .txt file as well as build logs are created in /tmp . @@ -93,9 +95,10 @@ PRGNAM=handbrake -VERSION=${VERSION:-1.4.1} -# Find the revision for a release tag (does not currently work!): -RELREV=${RELREV:-""} +SRCNAM=HandBrake +VERSION=${VERSION:-1.5.0} +# If defined, we will check the tag from git instead of using a release tarball: +RELREV=${RELREV:-"1.5.0"} BUILD=${BUILD:-1} TAG=${TAG:-alien} @@ -119,37 +122,40 @@ USE_PATENTS=$(echo $USE_PATENTS | tr 'a-z' 'A-Z') # is not new enough. WITH_GUI=${WITH_GUI:-"YES"} -DOCS="AUTHORS* COPYING* LICENSE* NEWS* README* THANKS*" +DOCS="AUTHORS* CODE_OF_CONDUCT* CONTRIBUTING* COPYING* \ + LICENSE* NEWS* README* THANKS* TRANSLATION*" CONTRIBURL="https://github.com/HandBrake/HandBrake-contribs/releases/download/contribs" # Versions of the contribs most of which are compiled-in; # A rough guideline as to how to determine the versions and download URLs is -# $ grep FETCH.url $(find HandBrake-1.4.0/contrib -type f -name module.defs) -ASS=0.15.1 +# $ grep FETCH.url $(find HandBrake-1.5.0/contrib -type f -name module.defs) +AMF=1.4.18 +ASS=0.15.2 BLURAY=1.3.0 -DAV1D=0.9.0 +DAV1D=0.9.2 DVDNAV=6.1.1 DVDREAD=6.1.1 FDKAAC=2.0.1 -FFMPEG=4.4 -FREETYPE=2.10.4 -FRIBIDI=1.0.10 -HARFBUZZ=2.8.1 -JANSSON=2.13.1 +FFMPEG=4.4.1 +FREETYPE=2.11.1 +FRIBIDI=1.0.11 +HARFBUZZ=3.1.2 +JANSSON=2.14 LAME=3.100 MFX=1.35 NVENC=11.0.10.1 -OGG=1.3.4 +OGG=1.3.5 OPUS=1.3.1 SPEEX=1.2.0 THEORA=1.1.1 VORBIS=1.3.7 -VPX=1.10.0 -X264=snapshot-20210606-3059 +ONEVPL=2021.6.0 +VPX=1.11.0 +X264=snapshot-20210613-3065 X265=3.5 XML2=2.9.9 -ZIMG=3.0.1 +ZIMG=3.0.3 # Where do we look for sources? SRCDIR=$(cd $(dirname $0); pwd) @@ -163,14 +169,14 @@ OUTPUT=${OUTPUT:-/tmp} DLI=0 # Download locations of sources: -SOURCE[$DLI]="$SRCDIR/sources/HandBrake-${VERSION}-source.tar.bz2" +SOURCE[$DLI]="$SRCDIR/sources/${SRCNAM}-${VERSION}.tar.bz2" if [ -n "$RELREV" ]; then # Download release tag from GIT so that we can create a "release" build, # which shows the actual version in the about box instead of a GIT revision # ... how twisted can you get. SRCURL[$DLI]="" else - SRCURL[$DLI]="https://github.com/HandBrake/HandBrake/releases/download/${VERSION}/HandBrake-${VERSION}-source.tar.bz2" + SRCURL[$DLI]="https://github.com/HandBrake/HandBrake/releases/download/${VERSION}/${SRCNAM}-${VERSION}-source.tar.bz2" fi DLI=$(($DLI+1)) @@ -244,6 +250,14 @@ DLI=$(($DLI+1)) SOURCE[$DLI]="$SRCDIR/sources/libxml2-$XML2.tar.gz" SRCURL[$DLI]="$CONTRIBURL/libxml2-$XML2.tar.gz" +DLI=$(($DLI+1)) +SOURCE[$DLI]="$SRCDIR/sources/AMF-$AMF.tar.gz" +SRCURL[$DLI]="$CONTRIBURL/AMF-$AMF.tar.gz" + +DLI=$(($DLI+1)) +SOURCE[$DLI]="$SRCDIR/sources/oneVPL-$ONEVPL.tar.gz" +SRCURL[$DLI]="$CONTRIBURL/oneVPL-$ONEVPL.tar.gz" + DLI=$(($DLI+1)) SOURCE[$DLI]="$SRCDIR/sources/mfx_dispatch-$MFX.tar.gz" SRCURL[$DLI]="$CONTRIBURL/mfx_dispatch-$MFX.tar.gz" @@ -339,25 +353,44 @@ src_checkout() { "tar.bz2") TARCOMP="j" ;; *) echo "Archive can only have extension 'tar.xz', '.tar.gz' '.tar.bz2' or '.tgz'" ; exit 1 ;; esac + # Determine the directory name to create for the archive root: + PBASE=$(basename ${2} .${PEXT}) + # Determine the directory where we create our checkout: + CODIR=$(dirname ${2}) case ${1} in 0) # HandBrake-${VERSION} - if [ "$(echo ${VERSION}|cut -c1)" == 'r' ]; then # revision instead of date - REV=$(echo ${VERSION} | cut -c2-) - SVNURI="svn://svn.handbrake.fr/HandBrake/trunk" + GITURI="https://github.com/HandBrake/HandBrake.git" + BRANCH=master + RETDIR=$(pwd) + mkdir -p $CODIR/${PRGNAM}_temp_checkout_$$ \ + && cd $CODIR/${PRGNAM}_temp_checkout_$$ + mkdir ${PBASE} \ + && cd ${PBASE} \ + && \ + if [ "$VERSION" = "HEAD" -o "$VERSION" = "master" ]; then + # Checkout without downloading version history (fast!): + echo "Checking out HEAD from '$GITURI':" + # If VERSION was "HEAD" we still want a date to appear in the pkgname: + VERSION=$(date +%Y%m%d) + git clone --depth=1 ${GITURI} . elif [ -z "$RELREV" ]; then - REV="{${VERSION}}" - SVNURI="svn://svn.handbrake.fr/HandBrake/trunk" + # Checkout at the specified tag, and set VERSION to that tagname. + VERSION="{${RELREV}" + git clone ${GITURI} . \ + && git checkout tags/$RELREV -b $BRANCH else - REV="${RELREV}" - SVNURI="svn://svn.handbrake.fr/HandBrake/tags/$VERSION" - fi - mkdir HandBrake-${VERSION} \ - && cd HandBrake-${VERSION} \ - && svn co --revision $REV $SVNURI . \ + # Checkout code from a certain branch and/or date; this will take a + # long time because we have to clone the complete git-repository first: + echo "Checking out $BRANCH at date $VERSION from '$GITURI':" + git clone ${GITURI} . \ + && git checkout $BRANCH \ + && git checkout $(git rev-list -n 1 --before="$(date -d $VERSION)" $BRANCH) + fi \ && chown -R root:root . \ && cd .. \ - && tar -${TARCOMP}cf ${2} HandBrake-${VERSION} - rm -rf HandBrake-${VERSION} + && tar -${TARCOMP}cf ${2} ${PBASE} + cd $RETDIR + rm -rf $CODIR/${PRGNAM}_temp_checkout_$$ || true ;; *) # Do nothing ;; @@ -462,6 +495,12 @@ if [ "${ARCH}" != "x86_64" ]; then contrib/x265_12bit/module.defs fi +# Let's just install everything in a 'lib' directory: +sed -e 's/^HARFBUZZ.CONFIGURE.extra *=.*/& -DCMAKE_INSTALL_LIBDIR=lib/' \ + -i contrib/harfbuzz/module.defs +sed -e 's/^LIBVPL.CONFIGURE.extra *=.*/& -DCMAKE_INSTALL_LIBDIR=lib/' \ + -i contrib/libvpl/module.defs + # Add '--build' to configure to prevent 'alignas: requested alignment # is not a power of 2' compilation error on 32bit: if [ $(cat /etc/slackware-version |cut -d' ' -f2- |cut -d. -f1) -lt 15 ]; then @@ -488,6 +527,13 @@ else USE_NUMA="--disable-numa" fi +if [ "${ARCH}" = "x86_64" ]; then + # Libvpl only supports x86_64: + USE_QSV="--enable-qsv" +else + USE_QSV="--disable-qsv" +fi + mkdir download for FF in $(seq 1 $(( ${#SOURCE[@]} -1 ))); do cp ${SOURCE[$FF]} download/ @@ -521,10 +567,11 @@ export LD_RUN_PATH="$HBDEPSDIR/lib" ./configure \ --prefix=/usr \ --launch --launch-jobs=0 \ - --enable-qsv \ + --enable-vce \ --enable-x265 \ - ${USE_NUMA} \ ${USE_NONFREE} \ + ${USE_NUMA} \ + ${USE_QSV} \ ${GUI_OPTS} \ 2>&1 | tee $OUTPUT/configure-${PRGNAM}.log -- cgit v1.2.3-79-gdb01